Ralat MySQL 1452: Pelanggaran Kekangan Kunci Asing Dijelaskan
Panduan ini menangani ralat MySQL biasa "ERROR 1452: Tidak boleh menambah atau mengemas kini baris kanak-kanak: kekangan kunci asing gagal," yang sering ditemui apabila bekerja dengan jadual yang dipautkan oleh kunci asing (seperti ORDRE, PRODUKT dan ORDRELINJE). Ralat ini menandakan pelanggaran integriti rujukan: jadual anak (cth., ORDRELINJE) cuba merujuk jadual induk (cth., ORDRE) menggunakan nilai kunci asing yang tidak wujud dalam kunci utama jadual induk.
Langkah Penyelesaian Masalah
Untuk menyelesaikan masalah ini, ikut langkah berikut:
-
Utamakan Sisipan Jadual Induk: Sentiasa pastikan data wujud dalam jadual induk sebelum memasukkan data berkaitan ke dalam jadual anak. Contohnya, masukkan ke dalam jadual
Ordre
dahulu, kemudian gunakan ID Ordre
yang baru dibuat sebagai kunci asing dalam ORDRELINJE
.
-
Semak Dua Kali Nilai Kunci Asing: Selepas memasukkan ke dalam jadual induk, sahkan dengan teliti bahawa nilai kunci asing dalam jadual anak sepadan dengan nilai kunci utama yang sepadan dalam jadual induk.
-
Semakan Ketekalan Data: Pastikan data yang anda masukkan konsisten dengan perhubungan kunci asing yang ditentukan. Sebarang ketidakpadanan akan mencetuskan ralat.
Perkara Tambahan yang Perlu Diperhatikan
-
Kekunci Utama Auto-Naik: Jika jadual induk anda menggunakan auto-kenaikan untuk kunci utamanya, kekangan kunci asing harus mengendalikan perhubungan secara automatik. Anda tidak perlu menentukan kunci induk secara manual.
-
Semakan Pangkalan Data/Kod: Jika ralat berterusan selepas mengesahkan nilai kunci asing, siasat kemungkinan isu konfigurasi pangkalan data atau ralat logik dalam kod aplikasi anda. Semak penyataan SQL dan logik pemasukan data anda dengan teliti.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat MySQL 1452: Pelanggaran Kekangan Utama Asing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!