Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL kann Fremdschlüsselbeschränkung nicht hinzufügen

Um den spezifischen Fehler zu finden, führen Sie Folgendes aus:

SHOW ENGINE INNODB STATUS;

Und schauen Sie im LATEST FOREIGN KEY ERROR nach Abschnitt.

Der Datentyp für die untergeordnete Spalte muss genau mit der übergeordneten Spalte übereinstimmen. Zum Beispiel seit medicalhistory.MedicalHistoryID ist ein INT , Patient.MedicalHistory muss auch ein INT sein , kein SMALLINT .

Außerdem sollten Sie die Abfrage set foreign_key_checks=0 ausführen vor dem Ausführen der DDL, sodass Sie die Tabellen in einer beliebigen Reihenfolge erstellen können, anstatt alle übergeordneten Tabellen vor den relevanten untergeordneten Tabellen erstellen zu müssen.