【发布时间】:2015-10-31 12:41:20
【问题描述】:
您好,我是一般的 SQL 和编码新手,我发现我的代码中有一个错误,我似乎无法弄清楚。
DROP TABLE IF EXISTS record, artist;
CREATE TABLE artist (
id INT AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(50),
PRIMARY KEY (id)
);
CREATE TABLE record (
id INT AUTO_INCREMENT,
title VARCHAR(50),
artist_id INT,
genre TINYTEXT,
year YEAR(4),
price DECIMAL(10, 2) unsigned,
PRIMARY KEY (id),
FOREIGN KEY (artist_id)
REFERENCES artist (id)
);
CREATE TABLE order (
id INT AUTO_INCREMENT,
record_id INT,
quantity INT unsigned,
total DECIMAL(10, 2) unsigned,
PRIMARY KEY (id),
FOREIGN KEY (record_id)
REFERENCES record (id)
);
出现的错误是:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在 'order (
id INT AUTO_INCREMENT,
record_id INT,
数量 INT 无符号,
第 1 行的总 D'
我知道它准确地告诉我错误在哪里,而且我知道这是一个语法错误,但由于某种原因,我似乎无法理解错误的确切位置或内容。我尝试使用DROP TABLE IF EXISTS 添加“订单”,但这只会带来更多错误。我知道这可能是非常明显的事情,所以我很抱歉问,但我很迷茫。
【问题讨论】:
-
ORDER在 SQL 中是关键字,在 MySQL 中是保留字。将其命名为其他名称。 -
@GordonLinoff 谢谢 :)
标签: mysql sql syntax-error mysql-error-1064