Menggugurkan Kunci Asing dalam MySQL
Apabila cuba mengubah suai jadual dengan kekangan kunci asing, pengguna mungkin menghadapi ralat yang menghalang penyingkiran kunci asing tertentu . Isu ini timbul apabila menggunakan nama indeks dan bukannya nama kekangan dalam pernyataan DROP FOREIGN KEY.
Pertimbangkan contoh berikut:
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 kunci asing locationIDX daripada jadual tugasan , sintaks yang betul ialah:
ALTER TABLE assignment DROP FOREIGN KEY locationIDXconstraint;
Nota: locationIDXconstraint mesti digantikan dengan nama kekangan sebenar.
Dengan menyatakan nama kekangan dan bukannya nama indeks, kekangan kunci asing boleh berjaya dialih keluar tanpa menghadapi ralat.
Atas ialah kandungan terperinci Bagaimana Saya Menggugurkan Kunci Asing dalam MySQL Tanpa Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!