Rumah > Artikel > pangkalan data > Mengapa Ralat "Kekangan Kunci Asing Bogus Gagal" Berlaku Apabila Menggugurkan Jadual?
"Kekangan Kunci Asing Bogus Gagal" Diterangkan dan Diselesaikan
Apabila menemui mesej ralat "ERROR 1217 (23000) pada baris 40: Tidak boleh padam atau kemas kini baris induk: kekangan kunci asing gagal" semasa cuba memadamkan jadual, adalah penting untuk memahami punca asas. Walaupun menggugurkan semua jadual lain dengan rujukan kunci asing kepada jadual bermasalah, ralat berterusan.
Dalam senario ini, isu ini timbul daripada Pelayar Pertanyaan MySQL atau phpMyAdmin menggunakan sambungan berasingan untuk setiap pertanyaan. Untuk menyelesaikan masalah ini, semua penyata drop hendaklah disatukan menjadi satu pertanyaan seperti berikut:
SET FOREIGN_KEY_CHECKS=0; DROP TABLE my_first_table_to_drop; DROP TABLE my_second_table_to_drop; SET FOREIGN_KEY_CHECKS=1;
Dengan berbuat demikian, semakan kunci asing dilumpuhkan buat sementara waktu, membenarkan pemadaman jadual yang berjaya. Penyataan SET FOREIGN_KEY_CHECKS=1 akhir mendayakan semula semakan kunci asing, memastikan integriti data.
Perlu ambil perhatian bahawa InnoDB tidak menyokong kunci asing silang skema. Oleh itu, isu ini tidak disebabkan oleh sebarang rujukan luaran di luar skema pangkalan data semasa.
Atas ialah kandungan terperinci Mengapa Ralat "Kekangan Kunci Asing Bogus Gagal" Berlaku Apabila Menggugurkan Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!