创建表会生成错误代码1064

时间:2018-02-26 05:25:07

标签: mysql

我遇到错误代码1604试图创建一个表格。代码如下:

USE Rudinas; 
CREATE TABLE clan (
first_name VARCHAR(30) NOT NULL, 
last_name VARCHAR(30) NOT NULL, 
city VARCHAR(30) NOT NULL,
country VARCHAR(30) NOT NULL,
zip MEDIUMINT UNSIGNED NOT NULL, 
birth_date DATE NOT NULL
sex ENUM("M", "F") NOT NULL,
clan_belong ENUM('EU', 'ASIAPAC', 'USA', 'SLO') NOT NULL,
date_entered TIMESTAMP,
relative_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY); 

enter image description here

如何让这张表运行?

2 个答案:

答案 0 :(得分:2)

在birth_date DATE NOT NULL

之后使用逗号(,)
CREATE TABLE clan (
first_name VARCHAR(30) NOT NULL, 
last_name VARCHAR(30) NOT NULL, 
city VARCHAR(30) NOT NULL,
country VARCHAR(30) NOT NULL,
zip MEDIUMINT UNSIGNED NOT NULL, 
birth_date DATE NOT NULL,
sex ENUM("M", "F") NOT NULL,
clan_belong ENUM('EU', 'ASIAPAC', 'USA', 'SLO') NOT NULL,
date_entered TIMESTAMP,
relative_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY); 

答案 1 :(得分:1)

你的陈述会在某处出现问题。不幸的是,由于最小的错误,人脑有时会自动更正,发现问题需要一些时间/精力/运气。

我建议的一件事是开始削减你的陈述直到它起作用,然后重新建立它。例如,首先删除一半列,然后将其他列添加回去,直到它中断(问题在这里)或它可以工作(这次你没有犯同样的错误)。事实上,这是调试大多数代码的好方法,特别是如果你无法单步执行。

走开几分钟然后回来也可以帮助,就像使用第二双眼睛一样。

在这种情况下,你只是错过了一个逗号:

birth_date DATE NOT NULL
--                     ^^^