我正在尝试在MySQL中创建一个名为Staff的表,但是我收到错误1064(42000)消息。
我已经逐行和逐个字符地检查了,但是我和我的导师都无法识别任何语法错误。
如果我删除了Salary和Rank属性,我不会出错,但是必须将它们包括在表中。
我已经阅读了有关错误1064的其他几个问题,但它们对我没有帮助。我对MySQL也很陌生。谢谢您的时间。
代码如下:
drop table if exists Staff;
create table Staff
(Employee_ID varchar(4),
Employee_Name varchar(10),
Salary numeric(7,0),
Rank varchar(8),
primary key (Employee_ID)
) ENGINE = INNODB;
确切的错误消息是: 错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在'Rank varchar(8)附近使用正确的语法 主键(Employee_ID) )第5行的ENGINE = INNODB'
答案 0 :(得分:2)
rank是保留字(从MySQL 8.0开始),对其使用反引号或重命名。
drop table if exists Staff;
create table Staff
(Employee_ID varchar(4),
Employee_Name varchar(10),
Salary numeric(7,0),
`Rank` varchar(8),
primary key (Employee_ID)
) ENGINE = INNODB;
答案 1 :(得分:0)
排名是保留字。 重命名或引用它。