代码正确,但是我仍然收到语法错误消息

时间:2020-10-16 18:39:11

标签: mysql create-table

我正在尝试在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'

2 个答案:

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

排名是保留字。 重命名或引用它。