这个 SQL 有什么问题,-> ); ERROR 1075 (42000):表定义不正确;只能有一个自动列
SQL
CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT,
NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200)
);
我正在使用mysql,我该如何解决这个问题。我正在尝试创建一个表。我得到这个错误
您必须将AUTO_INCREMENT
列指定为PRIMARY KEY
try:
CREATE TABLE TABLENAME12
(
TAB_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME_FIRST NVARCHAR(200),
TYPE NVARCHAR(200)
);
正如错误所说。
"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)
);
您将获得的类似结果
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 兼容。