Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich MySQL-Fehler 150: Probleme mit Fremdschlüsseleinschränkungen?

Warum erhalte ich MySQL-Fehler 150: Probleme mit Fremdschlüsseleinschränkungen?

Susan Sarandon
Freigeben: 2024-11-27 17:20:14
Original
1016 Leute haben es durchsucht

Why Am I Getting MySQL Error 150: Foreign Key Constraint Issues?

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:

  • die richtigen Spaltennamen und -typen haben
  • Indizes für die referenzierten Schlüssel haben

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. 
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage