2012-11-15 16 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... 
)