MySQL多字段主鍵

mysql多字段主鍵又可以成為復(fù)合主鍵,復(fù)合主鍵也是主鍵的一種與主鍵具有相同的功能和定義,所謂的復(fù)合主鍵,就是指表的主鍵含有一個(gè)以上的字段組成 。

MySQL多字段主鍵

MySQL多字段主鍵又可以成為復(fù)合主鍵。復(fù)合主鍵也是主鍵的一種與主鍵具有相同的功能和定義。

推薦課程:MySQL教程

什么是數(shù)據(jù)表的復(fù)合主鍵 ?

所謂的復(fù)合主鍵,就是指你表的主鍵含有一個(gè)以上的字段組成 。

例如:

create table test  (     name varchar(19),     id number,     value varchar(10),     primary key (name,id)  )

上面的name和id字段組合起來(lái)就是你test表的復(fù)合主鍵?
它的出現(xiàn)是因?yàn)槟愕膎ame字段可能會(huì)出現(xiàn)重名,所以要加上ID字段這樣就可以保證你記錄的唯一性?
一般情況下,主鍵的字段長(zhǎng)度和字段數(shù)目要越少越好?

什么時(shí)候使用復(fù)合主鍵?

在一個(gè)主鍵不能唯一標(biāo)識(shí)這個(gè)表中的記錄的時(shí)候才使用復(fù)合主鍵??

比如這種時(shí)候

商品品牌? 商品型號(hào)
諾基亞?? 920
三星? ? ? NOTE2
諾基亞?? 8088

比如這樣商品品牌可能有重復(fù),都是諾基亞,但是諾基亞廠商生產(chǎn)的商品型號(hào)是不會(huì)重復(fù)的

也比如,可能好多品牌都有920這個(gè)型號(hào),但是一個(gè)品牌只有一個(gè)920的型號(hào)

所以就靠這樣的聯(lián)合主鍵來(lái)確定這條記錄的唯一性

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊12 分享