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.