我想在数据库表中创建一个AUTO_INCREMENT列,这是我写的语法:
create table comments
(
name varchar(20),
mail varchar(30),
comment varchar(100),
com_no int auto_increment
);
我收到以下错误:
然后我把它作为主键:错误1075(42000):表定义不正确;只能有一个自动列,必须将其定义为键
create table comments
(
name varchar(20),
mail varchar(30),
comment varchar(100),
com_no int primary_key auto_increment
);
我收到以下错误:
错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'primary_key auto_increment,name varchar(20),mail varchar(30),comment varchar(100'在第1行)附近使用正确的语法
出了什么问题???
答案 0 :(得分:5)
PRIMARY KEY
没有下划线。
create table comments
(
name varchar(20),
mail varchar(30),
comment varchar(100),
com_no int primary key auto_increment
);
或
create table comments
(
name varchar(20),
mail varchar(30),
comment varchar(100),
com_no int auto_increment,
primary key(`com_no`)
);
答案 1 :(得分:2)
create table comments(
name varchar(20),
mail varchar(30),
comment varchar(100),
com_no int auto_increment,
PRIMARY KEY (com_no)
);
(根据在线MySQL手册)。
答案 2 :(得分:2)
create table comments
(
name varchar(20),
mail varchar(30),
comment varchar(100),
com_no int NOT NULL AUTO_INCREMENT,
PRIMARY KEY (com_no)
);
答案 3 :(得分:2)
使用primary key
代替primary_key
答案 4 :(得分:1)
正确的语法如下所示:
CREATE TABLE `admin` (
`id` INT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` VARCHAR(50) NULL DEFAULT '0',
`pwd` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
答案 5 :(得分:1)
在MySQL中,只能有一个auto increment列(通常称为identity column),它也应该定义为unique key。例如:
create table comments
(
com_no int NOT NULL AUTO_INCREMENT,
name varchar(20),
mail varchar(30),
comment varchar(100),
PRIMARY KEY (com_no)
);
有关详细信息,请参阅MySQL auto increment documentation。