mysql - MySQL 错误代码:1824。无法打开引用的表
问题描述
当我尝试创建“项目表”时,我收到此错误代码:1824。无法打开引用的表“员工”。
我的语法:
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)
);
这些名称对我来说看起来是正确的,并且我已经引用了外键,所以我不明白为什么会出现这个错误。任何帮助将不胜感激,谢谢。
解决方案
当两个表具有不同的表引擎时,通常会发生这种情况。因此,请检查两个表是否具有相同的表引擎。例如 MISAM 不支持外键
推荐阅读
- javascript - nodejs/mongodb:将值传递给 exec 子进程
- c - 根据 git push 的日期自动包含程序版本
- malware - MISP 自动化键
- javascript - 三.JS Mesh位置平滑动画
- javascript - $_GET 的自定义网址
- wpf - 禁用 ListView 选择和悬停
- android - SharedPreference 值在更新 App 后确实保存
- alexa - 了解 Amazon Alexa 和 Google Assistant 的语音识别
- r - SQL Server 2016 中用于在 R 中透视数据的多线程函数
- django - Django Nginx Docker Gunicorn 无法到达