Rumah  >  Artikel  >  pangkalan data  >  Mengapa Ralat "Kekangan Kunci Asing Bogus Gagal" Berlaku Apabila Menggugurkan Jadual?

Mengapa Ralat "Kekangan Kunci Asing Bogus Gagal" Berlaku Apabila Menggugurkan Jadual?

Linda Hamilton
Linda Hamiltonasal
2024-11-05 22:33:02653semak imbas

Why Does

"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!

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