Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 1025 beim Löschen eines Fremdschlüssels?
Löschen eines Fremdschlüssels, um „Fehler 1025“ in MySQL zu beheben
Beim Versuch, eine Fremdschlüsselspalte aus einer Tabelle zu entfernen, kann MySQL Fehlermeldung „FEHLER 1025 (HY000): Fehler beim Umbenennen“). Dieser Fehler kann aufgrund der spezifischen Syntax auftreten, die zum Löschen von Fremdschlüsseln verwendet wird.
Im Kontext des bereitgestellten Codes:
CREATE TABLE location ( locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ... ) ENGINE = InnoDB; CREATE TABLE assignment ( assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, locationID INT NOT NULL, FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID) ... ) ENGINE = InnoDB; CREATE TABLE assignmentStuff ( ... assignmentID INT NOT NULL, FOREIGN KEY assignmentIDX (assignmentID) REFERENCES assignment (assignmentID) ) ENGINE = InnoDB;
Um die Fremdschlüsselspalte „locationIDX“ korrekt in zu löschen In der Tabelle „Zuweisung“ muss der Einschränkungsname angegeben werden, nicht der Indexname. Die Syntax zum Löschen einer Fremdschlüsseleinschränkung lautet:
ALTER TABLE table_name DROP FOREIGN KEY constraint_name;
In diesem Fall lautet der Einschränkungsname „locationIDX“ (wie in der „FOREIGN KEY“-Klausel angegeben). Daher wäre der richtige Befehl zum Löschen des Fremdschlüssels:
ALTER TABLE assignment DROP FOREIGN KEY locationIDX;
Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1025 beim Löschen eines Fremdschlüssels?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!