Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat MySQL 1025 Apabila Menggugurkan Kunci Asing?

Bagaimana untuk Menyelesaikan Ralat MySQL 1025 Apabila Menggugurkan Kunci Asing?

DDD
DDDasal
2024-11-13 12:24:02232semak imbas

How to Resolve MySQL Error 1025 When Dropping a Foreign Key?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn