Mysql 如何修复此问题显示语法错误,错误1064(42000):

Mysql 如何修复此问题显示语法错误,错误1064(42000):,mysql,Mysql,我试图创建一个包含2个外键的表,但找不到语法错误。我需要在哪里进行更改 create table Leave( leaveId int primary key, noOfDays int, approverId varchar(50), requestorId varchar(50), Foreign key (approverId) References Approver (approverId), Foreign key(requestorId) References Requestor

我试图创建一个包含2个外键的表,但找不到语法错误。我需要在哪里进行更改

create table Leave(
leaveId int primary key, noOfDays int, approverId varchar(50), requestorId varchar(50), 
Foreign key (approverId) References Approver (approverId), 
Foreign key(requestorId) References Requestor(requestorId)
);
以下是创建休假表之前创建的两个表:

  • createtableapprover(approverId int主键,approverName varchar(50))

  • 创建表请求者(请求者id int主键、请求者name varchar(50)、批准者int、批准者id int、应用日期、外键(批准者id)引用批准者(批准者id))

  • 在哪里可以更改此语法错误

    它显示了休假表的以下错误

    错误:

    错误1064(42000):您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 使用near'Leave(leaveId int主键,noOfDays int, approverId varchar(50),第1行的requestorId'


    您的问题是Leave在MySQL中是一个保留字,因此您的对象不能使用它


    将表名更改为其他名称(例如:
    leave\u request
    ),它应该可以工作。

    您的问题是,leave在MySQL中是一个保留字。因此,您的对象无法使用它


    将表名更改为其他名称(例如:
    leave\u request
    )它应该可以工作。

    请编辑您的问题并在其中添加完整的错误消息。@Alfabravo yeah done您可以建议需要做哪些更改吗?引用列和引用列数据类型必须相同,您应该发布完整的create语句,以便我们可以看到引擎是相同的。请编辑您的问题并添加com请在其中填写错误消息。@Alfabravo是的,完成了。请您建议需要做哪些更改。引用的和引用的列数据类型必须相同,并且您应该发布完整的create语句,以便我们可以看到引擎是相同的。不完全-'如果您按照第9.2节中的说明引用保留字,则允许它们作为标识符,“架构对象名称”:-@P.Salmon您完全正确。不过,建议使用必须在引号之间永久使用的名称就像建议在节假日喂老虎或类似的事情:Pnot quite-”如果您按照第9.2节“架构对象名称”中的描述引用它们,则允许保留字作为标识符:-@P.Salmon你完全正确。不过,建议使用必须在引号之间永久使用的名称,感觉就像建议在假日喂老虎或类似的东西:P