Probleme mit MySQL-Fremdschlüsseleinschränkungen lösen
Das Erstellen von Fremdschlüsselbeziehungen in MySQL kann manchmal zu dem frustrierenden Fehler führen:
<code>ERROR 1215 (HY000): Cannot add foreign key constraint</code>
Diese Meldung weist auf ein Problem beim Herstellen der Fremdschlüsselverknüpfung zwischen Tabellen hin. Lassen Sie uns häufige Ursachen und Lösungen untersuchen.
Datentyp-Diskrepanzen:
Bestätigen Sie, dass die Datentypen der untergeordneten und übergeordneten Spalten identisch sind. Wenn die übergeordnete Spalte beispielsweise INT
ist, muss die entsprechende untergeordnete Spalte ebenfalls INT
sein. Bei Nichtübereinstimmung wird verhindert, dass die Einschränkung hinzugefügt wird.
Reihenfolge der Tabellenerstellung:
Während Best Practices vorschreiben, übergeordnete Tabellen vor untergeordneten Tabellen zu erstellen, können Sie diese Einschränkung vorübergehend umgehen. Verwenden Sie den folgenden Befehl, bevor Sie Ihre Tabellen erstellen:
<code>SET FOREIGN_KEY_CHECKS=0;</code>
Dadurch werden Fremdschlüsselprüfungen deaktiviert und eine flexible Tabellenerstellungsreihenfolge ermöglicht. Denken Sie daran, die Prüfungen anschließend mit SET FOREIGN_KEY_CHECKS=1;
Das Problem lokalisieren mit <code>SHOW ENGINE INNODB STATUS;</code>:
Zur genauen Fehleridentifizierung führen Sie Folgendes aus:
<code>SHOW ENGINE INNODB STATUS;</code>
Untersuchen Sie den Abschnitt LATEST FOREIGN KEY ERROR
auf spezifische Details zur fehlgeschlagenen Einschränkung. Dies liefert entscheidende Informationen für eine gezielte Fehlerbehebung.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei MySQL die Fehlermeldung „Fremdschlüsseleinschränkung kann nicht hinzugefügt werden'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!