在为另一列进行自动增量时,MySql不接受唯一约束

时间:2012-11-15 15:51:19

标签: 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)
);

出现以下错误:

  

错误1075(42000):表定义不正确;只能有一个自动列,必须将其定义为键

我想将sno设置为自动增量,将username设置为UNIQUENOT NULL

我做错了什么?

2 个答案:

答案 0 :(得分:2)

如果您希望自动递增,则

sno必须为PRIMARY KEY。替换:

sno INT UNSIGNED AUTO_INCREMENT,

sno INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

答案 1 :(得分:0)

必须将

sno定义为auto_increment才能工作的主键(例如唯一键):

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