mysql - 如何解决此问题,它显示语法错误,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 个表:
create table Approver(approverId int primary key, approverName varchar(50));
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' 附近使用正确的语法
解决方案
您的问题是 Leave 是 MySQL (documentation)中的保留字。因此,它不能被您的对象使用
将您的表名更改为其他名称(例如:)leave_request
,它应该可以工作。
推荐阅读
- flutter - 将应用程序主页中声明的动画控制器传递给导航抽屉中的按钮
- python - Python - 脚本改进建议
- python - 如何在python中编写文件?
- flutter - 如何在flutter中解析API url
- visual-studio-2017 - 防止 Visual Studio 2017 调试器混淆具有相同名称的静态变量
- java - 这是minheap的排序方式吗?
- python - 用于对象检测的 PyTorch - 图像增强
- javascript - 如何在Javascript中将数组转换为具有相同键的对象数组?
- python - 用pyspark中所有列的平均值填充缺失值
- sql - Redshift 加入数组中的每个值