我正试图为医院数据库创建一系列表,每当我试图运行代码时,都会出现一个错误,说“错误代码1215:无法添加外键约束”。我做了很多研究,想知道我做错了什么,但我想不通。我的外键怎么了?
这是相关的表格。谢谢。

create table Patient(
num int(8),
Fname varchar(20),
Lname varchar(20),
SSN char(11),
dateofBirth date,
primary key(num)
);

create table Department(
Description varchar(250),
DepCode char(3),
DepName varchar(15),
Supervisor int(8),
building char(6),
primary key(DepCode),
constraint fk_supervisor foreign key(Supervisor) references Employee(ID)
);

create table Employee(
ID int(8),
Fname varchar(20),
Lname varchar(20),
SSN char(11),
Specialty varchar(15),
dateofHire date,
primary key(ID)
);

最佳答案

不存在的表(或列)不能被引用的模式。
在department表之前创建employee表,或者在创建完所有表之后,使用ALTER TABLE .. ADD FOREIGN KEY添加约束。
示例更正顺序:

create table Patient ..
create table Employee ..
create table Department ..

关于mysql - MySQL —“无法添加外键约束”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26350683/

10-15 10:53