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!