Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 1005 beim Hinzufügen von Fremdschlüsseln zu vorhandenen Tabellen?

Wie behebt man den MySQL-Fehler 1005 beim Hinzufügen von Fremdschlüsseln zu vorhandenen Tabellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 20:44:12660Durchsuche

How to Fix MySQL Error 1005 When Adding Foreign Keys to Existing Tables?

Fehlerbehebung bei der Erstellung von Fremdschlüsseln in vorhandenen Tabellen

Beim Versuch, einer Tabelle einen Fremdschlüssel hinzuzufügen, kann es zu der Fehlermeldung „Fehlercode: 1005“ weist auf ein Problem mit der Tabellenauflösung hin. Lassen Sie uns das Problem untersuchen und eine Lösung anbieten:

Ursprung des Fehlers

Der Fehler tritt auf, weil MySQL den Tabellennamen „Sprache“ beim Ausführen der ALTER TABLE-Anweisung nicht auflösen kann . Die Tabelle wird nicht erkannt, da ihr der temporäre Tabellenname „mytable.#sql-7fb1_7d3a“ vorangestellt ist.

Lösung für MySQL 5.1.61 und niedriger

Für MySQL-Versionen 5.1.61 und niedriger können Sie das Problem beheben, indem Sie die folgende geänderte ALTER TABLE verwenden Syntax:

ALTER TABLE katalog ADD FOREIGN KEY (Sprache) REFERENCES Sprache (ID) ON DELETE SET NULL ON UPDATE SET NULL;

Stellen Sie sicher, dass anstelle von „Sprache“ der tatsächliche Feldname verwendet wird, der als Fremdschlüssel verwendet wird.

Hinweis: Wenn Sie MySQL verwenden Bei Versionen höher als 5.1.61 tritt möglicherweise ein anderer Fehler im Zusammenhang mit der Klausel „ON DELETE SET NULL“ auf. Lesen Sie in solchen Fällen die entsprechende Dokumentation für die jeweilige MySQL-Version.

Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1005 beim Hinzufügen von Fremdschlüsseln zu vorhandenen Tabellen?. 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