我的SQL create table命令有什么问题?
CREATE TABLE user_info
(
team_name VARCHAR(250) AUTO_INCREMENT NOT NULL ,
duration_of_play DATE,
duration_of_play_in_team DATE NOT NULL,
position CHAR(100) NOT NULL,
PRIMARY KEY(position)
);
答案 0 :(得分:2)
您只能在数据类型为AUTO_INCREMENT
的列上使用INT
修饰符。试图自动增加团队名称是什么意思?看起来你可能偶然合并了两个字段,它应该是:
CREATE TABLE user_info
(
id int AUTO_INCREMENT NOT NULL,
team_name VARCHAR(250) NOT NULL ,
duration_of_play DATE,
duration_of_play_in_team DATE NOT NULL,
position CHAR(100) NOT NULL,
PRIMARY KEY(id),
UNIQUE KEY(position)
);
答案 1 :(得分:1)
我认为问题出在这一行team_name VARCHAR(250) AUTO_INCREMENT NOT NULL
VARCHAR不能是AUTO_INCREMENT
答案 2 :(得分:0)
MySql中的VARCHAR数据类型不允许使用AUTO_INCREMENT,请使用以下查询
CREATE TABLE user_info
(
team_name VARCHAR(250) NOT NULL ,
duration_of_play DATE,
duration_of_play_in_team DATE NOT NULL,
position CHAR(100) NOT NULL,
PRIMARY KEY(position)
);
答案 3 :(得分:0)
Varchar无法自动递增。为你的表添加一个id。
尝试这样的事情:
CREATE TABLE user_info
(
id_user_info int AUTO_INCREMENT NOT NULL,
team_name VARCHAR(250) NOT NULL ,
duration_of_play DATE,
duration_of_play_in_team DATE NOT NULL,
position CHAR(100) NOT NULL,
PRIMARY KEY(id)
);