mysql添加主鍵的語句 mysql一個(gè)自增長和一個(gè)聯(lián)合主鍵怎么設(shè)置?
mysql一個(gè)自增長和一個(gè)聯(lián)合主鍵怎么設(shè)置?僅定義自動(dòng)uuIncrement無法處理它。mysql> CREATE TABLE tab(-> id INT AUTOu1075(42000)錯(cuò)誤
mysql一個(gè)自增長和一個(gè)聯(lián)合主鍵怎么設(shè)置?
僅定義自動(dòng)uuIncrement無法處理它。
mysql> CREATE TABLE tab(
-> id INT AUTOu1075(42000)錯(cuò)誤:表定義不正確只能有一個(gè)自動(dòng)列,必須將其定義為鍵
什么是復(fù)合主鍵?
所謂復(fù)合主鍵是指表的主鍵由多個(gè)字段組成
例如,
(
name varchar(19),
ID number,
value varchar(10),
primary key(name,ID)
]上面的name和ID字段的組合就是測試表的復(fù)合主鍵
這是因?yàn)槊Q字段可能有重復(fù)的名稱,所以需要添加一個(gè)ID字段以確保記錄的唯一性
通常,字段長度和主鍵數(shù)越短越好
什么是聯(lián)合主鍵?
(主鍵原則上是唯一的。不要被獨(dú)特的價(jià)值觀所困擾。)
顧名思義,多個(gè)主鍵組合形成一個(gè)主鍵組合
一個(gè)簡單的例子
主鍵a和主鍵B形成一個(gè)聯(lián)合主鍵
主鍵a和主鍵B的數(shù)據(jù)可以完全相同(麻煩,沒關(guān)系)。由主鍵A和主鍵B組成的聯(lián)合主鍵是唯一的。
在下面的示例中,主鍵a的數(shù)據(jù)是1,主鍵B的數(shù)據(jù)是1。實(shí)際上,聯(lián)合主鍵是11,這是唯一的值。絕對(duì)不允許使用唯一值11。(這是多對(duì)多關(guān)系)
主鍵a數(shù)據(jù)主鍵B數(shù)據(jù)
1 1
2 2
3 3
主鍵a和主鍵B的聯(lián)合主鍵值最大,即
11
12
13
21
22
23
31
32
33