2014-10-13 2 views
1

Я пытаюсь создать серию таблиц для базы данных больницы, и всякий раз, когда я пытаюсь запустить код, я получаю сообщение об ошибке «Код ошибки 1215: не удается добавить внешний ключ ограничение «. Я провел много исследований, чтобы понять, что я сделал неправильно, но я не могу понять это. Что случилось с моими внешними ключами? Вот соответствующие таблицы. Благодарю.MySQL - «Невозможно добавить ограничение внешнего ключа»

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) 
); 

ответ

4

таблица (или столбец), что не существует не может быть схема ссылки.

Создайте таблицу Employee перед таблицей отдела - или добавьте ограничение позже, после создания всех таблиц, с помощью ALTER TABLE .. ADD FOREIGN KEY.

Пример исправлено упорядочение:

create table Patient .. 
create table Employee .. 
create table Department .. 
Смежные вопросы