MySql-Fehler 150: Fremdschlüsseleinschränkungen
Beim Ausführen von Abfragen zum Erstellen zweier Tabellen, eine als Referenz für die andere, wird eine Fehlermeldung angezeigt zeigt an: „FEHLER 1005 (HY000): Tabelle „./test/bar.frm“ kann nicht erstellt werden (Fehlernummer: 150)."
Laut der MySQL-Dokumentation zu FOREIGN KEY Constraints tritt der Fehler auf, wenn eine neu erstellte Tabelle, auf die durch eine Fremdschlüsseleinschränkung verwiesen wird, nicht ihrer Definition entspricht. Insbesondere muss die neu erstellte Tabelle:
In diesem Fall muss Aus der Dokumentation geht hervor, dass das Problem darin liegen könnte, dass eine der Tabellen „foo“ nicht als InnoDB-Tabelle erstellt wurde. Dies liegt daran, dass Fremdschlüsseleinschränkungen nur zwischen InnoDB-Tabellen eingerichtet werden können, die nicht TEMPORÄR sind.
In der Dokumentation heißt es:
Both tables must be InnoDB tables and they must not be TEMPORARY tables.
Um den Fehler zu beheben, wird daher empfohlen, dies sicherzustellen Die Tabelle „foo“ wird als InnoDB-Tabelle erstellt, bevor versucht wird, die Fremdschlüsseleinschränkung in der Tabelle „bar“ festzulegen.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich MySQL-Fehler 150: Probleme mit Fremdschlüsseleinschränkungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!