我有两个create table语句,第二个表实现了一个外键。出于某种原因,我收到#1064错误。
CREATE TABLE position (
id INT(3) AUTO_INCREMENT PRIMARY KEY,
job_description VARCHAR(100) NOT NULL,
)
CREATE TABLE employee (
empNO INT(3) AUTO_INCREMENT PRIMARY KEY,
First_Name VARCHAR(50) NOT NULL,
Last_Name VARCHAR(50) NOT NULL,
isLoyal INT (5),
PositionID INT(3) NOT NULL,
Foreign Key (PositionID) REFERENCES position(id)
)
答案 0 :(得分:0)
您在每个语句上都缺少关闭分号,并且在此行后面有一个尾随逗号:
job_description VARCHAR(100) NOT NULL,
不应该在那里。
这可能是此错误的最佳资源:How can I fix MySQL error #1064?
答案 1 :(得分:0)
POSITION是mysql中的预定义关键字,这就是你遇到错误的原因。
CREATE TABLE position1 (
id INT(3) AUTO_INCREMENT PRIMARY KEY,
job_description VARCHAR(100) NOT NULL,
)
CREATE TABLE employee (
empNO INT(3) AUTO_INCREMENT PRIMARY KEY,
First_Name VARCHAR(50) NOT NULL,
Last_Name VARCHAR(50) NOT NULL,
isLoyal INT (5),
PositionID INT(3) NOT NULL,
FOREIGN KEY (PositionID) REFERENCES position1(id)
)