Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 1005 beim Hinzufügen von Fremdschlüsseln zu vorhandenen Tabellen?
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!