- -為什么會(huì)有兩個(gè)主鍵
成都創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有十余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),近千家客戶的共同信賴。提供做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、網(wǎng)站定制、買友情鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)
主鍵的概念就只能允許一個(gè)表一個(gè)主鍵吧- -,即使你能夠找到兩個(gè)字段都可以做唯一標(biāo)識(shí),那也只可能有一個(gè)主鍵吧!
有沒有表結(jié)構(gòu)啊,然后能否說下你到底拿兩個(gè)主鍵來干什么····
1樓的還是1個(gè)主鍵啊,只是把KEY1和KEY2兩個(gè)條件作為主鍵而已呀~
一個(gè)表不能有2個(gè)主鍵,因?yàn)橹麈I代表數(shù)據(jù)的物理組織形式,所以不能存在2個(gè)。但是允許用多個(gè)字段聯(lián)合組成主鍵。
courseidint,
scoreint,primarykey(studentno) );
②修改時(shí):ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設(shè)置主鍵。
2.外鍵語法①創(chuàng)建時(shí):createtablesc (studentnoint,
courseidint,
scoreint,foreignkey(courseid) );②修改時(shí):ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區(qū)分一個(gè)表里的記錄時(shí),可以考慮多個(gè)列組合起來達(dá)到區(qū)分表記錄的唯一性,形式①創(chuàng)建時(shí):createtablesc (studentnoint,
courseidint,
scoreint,primarykey(studentno,courseid) );
②修改時(shí):alter table tb_name add primary key (字段1,字段2,字段3);
create table 表名
(
)
一個(gè)表中只能有一個(gè)主鍵約束和唯一約束,但一個(gè)主鍵約束可以在多列上.