簡體   English   中英

如何使用主鍵而不是自動增量創建MySQL

[英]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.

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