[英]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,但是想使用username
, shortname
和role
創建第二個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.