我可以在一個表中擁有多個主鍵嗎?我可以在一個表中擁有多個主鍵嗎?
我可以在一個表中擁有多個主鍵嗎?
郎朗坤
2019-07-29 11:07:14
TA貢獻1796條經驗 獲得超4個贊
表可以有一個復合主鍵,它是由兩列或更多列組成的主鍵。例如:
CREATE TABLE userdata ( userid INT, userdataid INT, info char(200), primary key (userid, userdataid));
更新: 這是一個鏈接,其中包含復合主鍵的更詳細說明。
TA貢獻1793條經驗 獲得超6個贊
一個表可以有多個候選鍵。每個候選鍵都是一列或一組列,這些列是UNIQUE,一起使用,也是NOT NULL。因此,為任何候選鍵的所有列指定值足以確定有一行符合條件,或者根本沒有行。
候選鍵是關系數據模型中的基本概念。
如果一個表中存在多個密鑰,則通常的做法是將一個候選密鑰指定為主密鑰。通常的做法是使表的任何外鍵引用主鍵,而不是任何其他候選鍵。
我推薦這些實踐,但關系模型中沒有任何內容需要在候選鍵中選擇主鍵。
舉報