Aby znaleźć konkretny błąd, uruchom to:
SHOW ENGINE INNODB STATUS;
I spójrz na LATEST FOREIGN KEY ERROR
sekcja.
Typ danych dla kolumny podrzędnej musi dokładnie odpowiadać kolumnie nadrzędnej. Na przykład, ponieważ medicalhistory.MedicalHistoryID
to INT
, Patient.MedicalHistory
również musi być INT
, a nie SMALLINT
.
Powinieneś także uruchomić zapytanie set foreign_key_checks=0
przed uruchomieniem DDL, dzięki czemu można tworzyć tabele w dowolnej kolejności, zamiast tworzyć wszystkie tabele nadrzędne przed odpowiednimi tabelami podrzędnymi.