Rumah > Artikel > pangkalan data > Mengapa Saya Tidak Boleh Menggugurkan Indeks dalam MySQL Kerana Kekangan Utama Asing?
Tidak Dapat Menggugurkan Ralat MySQL Indeks Kerana Kekangan Kunci Asing
Semasa cuba mengubah suai pangkalan data, anda mungkin menghadapi ralat "MySQL Tidak boleh menjatuhkan indeks yang diperlukan dalam kekangan kunci asing." Ralat ini timbul apabila anda cuba mengalih keluar indeks yang dirujuk oleh kekangan kunci asing.
Dalam MySQL, kunci asing menguatkuasakan perhubungan antara jadual. Apabila mentakrifkan kekangan kunci asing, indeks dibuat secara automatik pada lajur yang dirujuk dalam jadual induk. Indeks ini memastikan integriti data yang cekap dengan membenarkan carian pantas semasa operasi pangkalan data.
Dalam contoh yang diberikan, jadual mytable mempunyai kekangan kunci asing yang ditakrifkan pada lajur AID yang merujuk kunci utama jadual mytable_a. Percubaan untuk menggugurkan indeks AID akan melanggar integriti perhubungan kunci asing, kerana ia memerlukan indeks berfungsi dengan betul.
Untuk menyelesaikan ralat, anda perlu melepaskan kekangan kunci asing sebelum mengalih keluar indeks. Untuk menggugurkan kekangan kunci asing bernama mytable_ibfk_1 dalam contoh, gunakan pernyataan SQL berikut:
ALTER TABLE mytable DROP FOREIGN KEY mytable_ibfk_1;
Setelah kekangan kunci asing digugurkan, anda kemudian boleh meneruskan untuk menggugurkan indeks AID menggunakan pernyataan DROP INDEX.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggugurkan Indeks dalam MySQL Kerana Kekangan Utama Asing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!