2012-11-15 44 views
0

我有以下查詢:MySQL是不接受唯一約束,同時具有自動遞增另一列

CREATE TABLE UserDetails (
    sno INT UNSIGNED AUTO_INCREMENT, 
    username VARCHAR(20) NOT NULL, 
    location VARCHAR(20) NOT NULL, 
    country VARCHAR(20) NOT NULL, 
    UNIQUE KEY(username) 
); 

這是給下面的錯誤:

ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

我想設置sno自動增量和usernameUNIQUENOT NULL

我在做什麼錯?

+0

它作爲錯誤信息說:在'sno'列也必須定義爲一個鍵。 –

回答

2

sno需要是PRIMARY KEY如果你想自動增加。替換:

sno INT UNSIGNED AUTO_INCREMENT, 

sno INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
0

sno必須被定義爲一個主鍵(如獨特的鍵)AUTO_INCREMENT工作:

CREATE TABLE UserDetails (
    sno INT unsigned auto_increment primary key, 
    etc... 
)