Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 150: Fremdschlüsselkonflikt?
Beim Versuch, eine Fremdschlüsseleinschränkung in MySQL zu erstellen, kann es zu Problemen kommen. Ein solcher Fehler ist Fehler 150, der auftritt, wenn zwischen der Fremdschlüsseldefinition und der referenzierten Tabelle eine Nichtübereinstimmung besteht.
Fehlermeldung:
ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)
Wie in der MySQL-Dokumentation zu Fremdschlüsseleinschränkungen dokumentiert, Fremdschlüssel Referenzen erfordern die strikte Einhaltung bestimmter Regeln. Eine entscheidende Voraussetzung ist, dass sowohl die referenzierende Tabelle als auch die referenzierte Tabelle InnoDB-Tabellen sein müssen.
Both tables must be InnoDB tables and they must not be TEMPORARY tables.
Um diesen Fehler zu beheben, überprüfen Sie, ob sowohl die referenzierende Tabelle (Balken) als auch die Die referenzierte Tabelle (foo) wird als InnoDB-Tabelle definiert. Wenn dies nicht der Fall ist, ändern Sie sie so, dass sie die InnoDB-Engine verwenden.
ALTER TABLE bar ENGINE=InnoDB; ALTER TABLE foo ENGINE=InnoDB;
Nachdem Sie diese Änderung vorgenommen haben, versuchen Sie, die Fremdschlüsseleinschränkung zwischen den beiden Tabellen wiederherzustellen. Wenn das Problem weiterhin besteht, konsultieren Sie erneut die MySQL-Dokumentation oder suchen Sie Hilfe in relevanten Foren oder von MySQL-Experten.
Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 150: Fremdschlüsselkonflikt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!