MySql Encounter Error 150: Deciphering Foreign Key Woes
Beim Versuch, eine Tabelle mit einem Fremdschlüssel zu erstellen, der auf eine andere Tabelle verweist, kann es zu Problemen bei Entwicklern kommen Fehler 150, der sie mit seiner kryptischen Nachricht verwirrt. Dieser Artikel befasst sich mit der zugrunde liegenden Ursache dieses Fehlers und bietet eine Lösung.
Wie in der MySQL-Dokumentation beschrieben, tritt Fehler 150 auf, wenn die Neuerstellung einer zuvor gelöschten Tabelle nicht den Fremdschlüsseleinschränkungen entspricht, die auf sie verweisen. Insbesondere muss die Tabelle dieselben Spaltennamen, Typen und Indizes für die referenzierten Schlüssel beibehalten wie bei der ursprünglichen Erstellung.
Um dieses Problem zu beheben, stellen Sie sicher, dass die Tabelle, die den Fremdschlüssel enthält (in diesem Fall „foo“) wird ebenfalls als InnoDB-Tabelle erstellt. Gemäß der MySQL-Dokumentation müssen beide Tabellen, die an einer Fremdschlüsselbeziehung beteiligt sind, InnoDB-Tabellen und keine temporären Tabellen sein.
Um den Fehler zu beheben, versuchen Sie daher, die „foo“-Tabelle wie folgt als InnoDB-Tabelle neu zu erstellen Abfrage:
CREATE TABLE foo ( id INT PRIMARY KEY ) ENGINE = InnoDB;
Sobald die „foo“-Tabelle als InnoDB-Tabelle erstellt wurde, sollten Sie in der Lage sein, die „bar“-Tabelle mit der Fremdschlüsselreferenz ohne erfolgreich zu erstellen Es tritt Fehler 150 auf.
Das obige ist der detaillierte Inhalt vonMySQL-Fehler 150: Warum kann ich diesen Fremdschlüssel nicht erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!