Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich den MySQL-Fehler „Tabelle kann nicht erstellt werden' (Fehlernummer: 150)?

Warum erhalte ich den MySQL-Fehler „Tabelle kann nicht erstellt werden' (Fehlernummer: 150)?

Susan Sarandon
Susan SarandonOriginal
2025-01-20 02:19:09659Durchsuche

Why Am I Getting a MySQL

Fehlerbehebung für den MySQL-Fehler „Tabelle kann nicht erstellt werden“ (Fehlernummer: 150)

Das Erstellen einer Tabelle über ein SQL-Skript kann manchmal zu der Fehlermeldung „MySQL: Tabelle kann nicht erstellt werden (Fehlernummer: 150)“ führen. Dies tritt häufig bei .sql Dateiimporten auf und führt zu einem Fehler bei der Tabellenerstellung.

Grundursache:

Der Fehler „Fehler 150: Fremdschlüsseleinschränkung ist falsch“ weist auf eine Nichtübereinstimmung zwischen der Tabellendefinition und einer referenzierenden Fremdschlüsseleinschränkung hin. Die neu erstellte Tabelle erfüllt nicht die Anforderungen des Fremdschlüssels.

Lösung:

In der FOREIGN KEY-Dokumentation von MySQL heißt es: Eine neu erstellte Tabelle muss genau mit den Fremdschlüsseleinschränkungen übereinstimmen, die auf sie verweisen. Dies bedeutet, dass identische Spaltennamen, Datentypen und Indizes für die referenzierten Schlüssel von entscheidender Bedeutung sind. Die Nichterfüllung dieser Bedingungen führt zu Fehler 1005, wobei in der Meldung Fehler 150 vermerkt ist, was auf eine falsch formulierte Fremdschlüsseleinschränkung hinweist.

Deshalb:

  • Spaltennamen und Datentypen müssen mit der referenzierten Einschränkung übereinstimmen.
  • Indizes auf referenzierte Schlüssel sind obligatorisch.
  • Die Tabellendefinition darf die Fremdschlüsseleinschränkung nicht verletzen.

Debugging-Schritte:

  1. Überprüfung der Spaltendefinition:Bestätigen Sie, dass die Spaltennamen und Datentypen der neuen Tabelle denen im ursprünglichen Schema entsprechen.
  2. Indexprüfung:Überprüfen Sie das Vorhandensein von Indizes für referenzierte Schlüssel sowohl in der ursprünglichen als auch in der neuen Tabelle.
  3. Überprüfung der Fremdschlüsseleinschränkungen: Untersuchen Sie sorgfältig die Fremdschlüsseleinschränkungen, die auf die Tabelle verweisen. Stellen Sie sicher, dass sie genau definiert sind und auf die richtigen Spalten in der referenzierten Tabelle verweisen.
  4. .sql Skriptinspektion: Überprüfen Sie die .sql-Datei gründlich auf Vollständigkeit und auf das Fehlen von Syntaxfehlern, die sich auf Tabellendefinitionen oder Einschränkungen auswirken könnten.

Durch die Behebung dieser potenziellen Inkonsistenzen wird die Tabellendefinition an den referenzierenden Fremdschlüsseleinschränkungen ausgerichtet und das Problem „Fehler 150: Fremdschlüsseleinschränkung ist falsch“ gelöst.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fehler „Tabelle kann nicht erstellt werden' (Fehlernummer: 150)?. 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