오류 코드 1215가 발생합니다. 하위 테이블에 외래 키 제약 조건을 추가 할 수 없습니다. 부모 테이블에 복합 기본 키가 있습니다. 해당 기본 기본 키를 자식 테이블의 외래 키로 사용하려고합니다. 나를 안내하십시오.오류 1215 : 외래 키 제약 조건을 추가 할 수 없습니다. 복합 외래 키
부모 테이블 당신은 잘못된 외부 키를 지정하는
CREATE TABLE health.procedureProvided(
specialization varchar(40),
procedure_name varchar(60),
Insurance_ID int REFERENCES health.insurance (idInsurance),
Hospital_ID int REFERENCES health.hospital (idHospital) ,
Doctor_ID int REFERENCES health.doctor(idDoctor) ,
CONSTRAINT procedures_fk foreign key (specialization,procedure_name)references health.procedures(Specialty,Procedure_Name) ,
PRIMARY KEY (specialization, procedure_name, Insurance_ID, Hospital_ID, Doctor_ID)
);
'procedures'에 PK가있는 것처럼 보입니다. 합성 키가 아니며, 단지'procedure_name'을 가지고 있습니다. –
프로 시저의 PK가 procedure_name 인 경우 하위 테이블의 FK도 procedure_name이어야합니다. – dwilliss
부모 테이블의 기본 키에 전문화를 추가하는 것을 잊어 버렸습니다. PRIMARY KEY (프로 시저 _ 이름, 특수) – programingforfun