Per trovare l'errore specifico, esegui questo:
SHOW ENGINE INNODB STATUS;
E guarda nel LATEST FOREIGN KEY ERROR
sezione.
Il tipo di dati per la colonna figlio deve corrispondere esattamente alla colonna padre. Ad esempio, da medicalhistory.MedicalHistoryID
è un INT
, Patient.MedicalHistory
deve anche essere un INT
, non un SMALLINT
.
Inoltre, dovresti eseguire la query set foreign_key_checks=0
prima di eseguire il DDL in modo da poter creare le tabelle in un ordine arbitrario anziché dover creare tutte le tabelle padre prima delle tabelle figlio rilevanti.