MySQL错误代码:1824。无法打开引用的表

时间:2018-12-06 13:13:21

标签: mysql sql

当我尝试创建“项目表”时,出现此错误代码:1824。无法打开引用表“ Employee”。

我的语法:

CREATE DATABASE IF NOT EXISTS Test;
USE Test;

CREATE TABLE IF NOT EXISTS Customer (
CustomerID VARCHAR(7) NOT NULL,
CustomerName VARCHAR(50),
CustAdress VARCHAR(70),
CustEmail VARCHAR(50),
PRIMARY KEY (CustomerID)
);

CREATE TABLE IF NOT EXISTS Employee (
EmpID VARCHAR(7) NOT NULL,
EmpName VARCHAR(50),
Position VARCHAR(30),
EmpTimePrice INT(4),
PRIMARY KEY (EmpID)
);

CREATE TABLE IF NOT EXISTS Project (
ProjectNo VARCHAR(7),
ProjectName VARCHAR(50),
StartDate DATE,
ProjTimePrice INT(6),
CustomerID VARCHAR(7),
EmpID VARCHAR(7),
PRIMARY KEY (ProjectNo),
FOREIGN KEY (EmpID) REFERENCES Employee (EmpID),
FOREIGN KEY (CustomerID) REFERENCES Customer (CustomerID) 
);

CREATE TABLE IF NOT EXISTS ProjectWork (
ProjectNo VARCHAR(7),
EmpID VARCHAR(7),
PWDATE DATE,
HoursWorked INT(5),
FOREIGN KEY (ProjectNo) REFERENCES Project (ProjectNo),
FOREIGN KEY (EmpID) REFERENCES Employee (EmpID)
);

名称对我来说似乎正确,并且我已经引用了外键,所以我不明白为什么会出现此错误。任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:2)

这通常在两个表具有不同的表引擎时发生。因此,请检查两个表是否具有相同的表引擎。例如MYISAM不支持外键

答案 1 :(得分:0)

只需将EmpID修改为empID,就可以使用它了。