MySQL create table命令有什么问题?

时间:2014-08-07 07:47:21

标签: mysql sql database

我的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) 
);

4 个答案:

答案 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)
);