Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 150: Fremdschlüsselkonflikt?

Wie behebt man den MySQL-Fehler 150: Fremdschlüsselkonflikt?

DDD
DDDOriginal
2024-11-26 16:01:17401Durchsuche

How to Fix MySQL Error 150: Foreign Key Mismatch?

Fehlerbehebung bei MySQL-Fehler 150: Fremdschlüssel stimmt nicht überein

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.

Fehlerbeschreibung

Fehlermeldung:

ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)

Mögliche Ursache

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.

Lösung

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn