2014-10-13 3 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 .. 
관련 문제