Pour trouver l'erreur spécifique, exécutez ceci :
SHOW ENGINE INNODB STATUS;
Et regardez dans le LATEST FOREIGN KEY ERROR
rubrique.
Le type de données de la colonne enfant doit correspondre exactement à la colonne parent. Par exemple, depuis medicalhistory.MedicalHistoryID
est un INT
, Patient.MedicalHistory
doit également être un INT
, pas un SMALLINT
.
En outre, vous devez exécuter la requête set foreign_key_checks=0
avant d'exécuter le DDL afin que vous puissiez créer les tables dans un ordre arbitraire plutôt que d'avoir à créer toutes les tables parents avant les tables enfants appropriées.