För att hitta det specifika felet, kör detta:
SHOW ENGINE INNODB STATUS;
Och titta i LATEST FOREIGN KEY ERROR
avsnitt.
Datatypen för den underordnade kolumnen måste matcha den överordnade kolumnen exakt. Till exempel eftersom medicalhistory.MedicalHistoryID
är en INT
, Patient.MedicalHistory
måste också vara en INT
, inte en SMALLINT
.
Du bör också köra frågan set foreign_key_checks=0
innan du kör DDL så att du kan skapa tabellerna i en godtycklig ordning istället för att behöva skapa alla överordnade tabeller före de relevanta underordnade tabellerna.