[英]How to create a MySQL with Primary Key not an auto increment
我正在嘗試創建下表:
create table Cust (Name varchar(50) UNIQUE, Cat1 varchar(50), RowID int NOT NULL AUTO_INCREMENT, PRIMARY KEY (Name));
我得到的錯誤是
表定義不正確; 只能有一個自動列,並且必須將其定義為鍵
我想按“名稱”而不是RowID進行索引。 因此,即使我以:
...PRIMARY KEY (Name, RowID));
它失敗。 當然...PRIMARY KEY (RowID, Name));
工作,但不是我想要的。
有人可以幫我看看燈嗎?
謝謝
您只需要為auto-inc列創建一個KEY(又名索引)。 它不必是主鍵,但必須是某個索引中最左邊的列。
create table Cust (
Name varchar(50),
Cat1 varchar(50),
RowID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (Name),
KEY (RowId)
);
不要將UNIQUE選項添加到名稱列。 這會創建多余的唯一索引,而您不需要。 任何主鍵已經是唯一的。
我要評論一下,自動增量功能與rowid不同。 不要期望auto-inc具有連續的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.