簡體   English   中英

如何在mysql表中創建第二個主鍵/復合鍵

[英]How do I create a second primary key/compound key in mysql table

我有一個名為enrollments的表,如下所示:

enrollmentindex - which is table primary key
username - varchar(64)
shortname - varchar(64)
role - varcar(64)

我必須保留enrollmentindex col,但是想使用usernameshortnamerole創建第二個primary key (復合鍵)。

由於enrollmentindex上存在密鑰,我在創建新的復合密鑰時遇到問題。

嘗試:

ALTER TABLE enrollments ADD PRIMARY KEY(username,shortname,role) 

- 導致錯誤代碼1068

ALTER TABLE enrollments DROP PRIMARY KEY, ADD PRIMARY KEY(username,shortname,role)

- 導致錯誤代碼1075

表中沒有數據。

錯誤代碼1068適用於多個主鍵(不允許)

錯誤代碼1075用於不正確的表定義(必須將auto_increment字段定義為鍵)。 看起來enrollmentindex是一個auto_increment字段,因此它需要包含在您的復合主鍵中。

我建議在username,shortname,role上創建一個單獨的UNIQUE索引,如果這是你要強制的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM