这个SQL有什么问题, - > ); 错误1075(42000):表定义不正确;只能有一个自动列
SQL
CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT,
NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200)
);
我正在使用mysql,我该如何解决这个问题。我正在尝试创建一个表。我收到此错误
答案 0 :(得分:7)
您必须将AUTO_INCREMENT
列指定为PRIMARY KEY
尝试:
CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200)
);
答案 1 :(得分:6)
正如错误所述。
"Incorrect table definition; there can be only one auto column and it must be
defined as a key"
http://sqlfiddle.com/#!2/7e064
在auto_increment列上添加主键。
CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT,
NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200),
PRIMARY KEY (TAB_ID)
);
答案 2 :(得分:4)
你将获得的类似结果
CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT,
NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200),
PRIMARY KEY( TAB_ID )
);
除了类型定义int和nvarchar之外,这也可以用作其他db的mysql。 如果使用varchar和integer,则与postgresql兼容。