For at finde den specifikke fejl skal du køre dette:
SHOW ENGINE INNODB STATUS;
Og se i LATEST FOREIGN KEY ERROR
afsnit.
Datatypen for den underordnede kolonne skal matche den overordnede kolonne nøjagtigt. For eksempel siden medicalhistory.MedicalHistoryID
er en INT
, Patient.MedicalHistory
skal også være en INT
, ikke en SMALLINT
.
Du bør også køre forespørgslen set foreign_key_checks=0
før du kører DDL, så du kan oprette tabellerne i en vilkårlig rækkefølge i stedet for at skulle oprette alle overordnede tabeller før de relevante underordnede tabeller.