Menggugurkan Kunci Asing untuk Menyelesaikan "Ralat 1025" dalam MySQL
Apabila cuba mengalih keluar lajur kunci asing daripada jadual, MySQL mungkin gesa ralat "ERROR 1025 (HY000): Ralat semasa menamakan semula." Ralat ini boleh timbul disebabkan oleh sintaks khusus yang digunakan untuk menggugurkan kunci asing.
Dalam konteks kod yang disediakan:
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;
Untuk menggugurkan lajur kunci asing "locationIDX" dengan betul dalam jadual "tugasan", nama kekangan mesti dinyatakan, bukan nama indeks. Sintaks untuk melepaskan kekangan kunci asing ialah:
ALTER TABLE table_name DROP FOREIGN KEY constraint_name;
Dalam kes ini, nama kekangan ialah "locationIDX" (seperti yang dinyatakan dalam klausa "KEY ASING"). Oleh itu, arahan yang betul untuk menggugurkan kunci asing ialah:
ALTER TABLE assignment DROP FOREIGN KEY locationIDX;
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1025 Apabila Menggugurkan Kunci Asing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!