Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in MySQL beim Importieren einer .sql-Datei die Fehlermeldung „Tabelle kann nicht erstellt werden (Fehlernummer: 150)'?

Warum erhalte ich in MySQL beim Importieren einer .sql-Datei die Fehlermeldung „Tabelle kann nicht erstellt werden (Fehlernummer: 150)'?

Linda Hamilton
Linda HamiltonOriginal
2025-01-20 02:22:09442Durchsuche

Why Am I Getting a

MySQL-Fehler: „Tabelle kann nicht erstellt werden (Fehlernummer: 150)“ – Leitfaden zur Fehlerbehebung

Problem:

Das Importieren einer SQL-Datei mit Tabellendefinitionen schlägt während der Tabellenerstellung fehl, was zu der Fehlermeldung „Tabelle './dbname/data.frm' kann nicht erstellt werden (Fehlernummer: 150)“ führt.

Grundursache:

Dieser Fehler, wie in der Dokumentation zu MySQL FOREIGN KEY Constraints beschrieben, tritt auf, wenn die Neuerstellung einer Tabelle mit vorhandenen Fremdschlüsseleinschränkungen in Konflikt steht, die auf sie verweisen. Die neu erstellte Tabelle muss in folgenden Punkten genau mit dem Original übereinstimmen:

  • Spaltennamen und Datentypen:Eine genaue Übereinstimmung ist entscheidend.
  • Indizes für referenzierte Schlüssel:Alle erforderlichen Indizes für Spalten, die an Fremdschlüsselbeziehungen beteiligt sind, müssen vorhanden sein.

Auflösung:

Um dieses Problem zu beheben, überprüfen Sie Folgendes sorgfältig:

  • Spaltenkonsistenz: Bestätigen Sie, dass die Spaltennamen und Datentypen in der Tabellendefinition Ihrer SQL-Datei mit denen in der Tabelle identisch sind, auf die durch die Fremdschlüsseleinschränkung verwiesen wird. Schon geringfügige Abweichungen (z. B. unterschiedliche Zeichensätze) können diesen Fehler auslösen.
  • Indexintegrität: Erstellen Sie alle Indizes für die Spalten neu, die an Fremdschlüsselbeziehungen beteiligt sind. Stellen Sie sicher, dass diese Indizes vorhanden sind und mit den Indexspezifikationen der Originaltabelle übereinstimmen.

Sobald Sie diese Aspekte bestätigt haben, versuchen Sie den SQL-Import erneut. Wenn das Problem weiterhin besteht, überprüfen Sie die CREATE TABLE-Anweisung in Ihrer SQL-Datei sorgfältig auf etwaige Inkonsistenzen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MySQL beim Importieren einer .sql-Datei die Fehlermeldung „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