首页 > 解决方案 > 如何解决此问题,它显示语法错误,ERROR 1064 (42000):

问题描述

我正在尝试使用 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)
);

这些是在创建离开表之前创建的 2 个表:

  1. create table Approver(approverId int primary key, approverName varchar(50));

  2. create table Requestor(requestorId int primary key, requestorName varchar(50), noOfLeavesApproved int, approverId int, dateOfApplication date, Foreign key(approverId) References Approver(approverId));

我在哪里可以对此语法错误进行更改?

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

错误:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'Leave(leaveId int primary key, noOfDays int,approverId varchar(50), requestorId' 附近使用正确的语法

标签: mysql

解决方案


您的问题是 Leave 是 MySQL (documentation)中的保留字。因此,它不能被您的对象使用

将您的表名更改为其他名称(例如:)leave_request,它应该可以工作。


推荐阅读