Pelanggaran Kekangan Kunci Asing MySQL: Ralat 1452
Apabila cuba mewujudkan kekangan kunci asing antara dua jadual, anda mungkin menghadapi ralat " Ralat Mysql 1452 - Tidak boleh menambah atau mengemas kini baris anak: kekangan kunci asing gagal." Ralat ini menunjukkan bahawa ketidakkonsistenan wujud antara jadual yang dirujuk dan rujukan.
Memeriksa kenyataan CREATE TABLE untuk kedua-dua jadual mendedahkan perkara berikut:
Ralat berlaku secara khusus apabila cuba menambah kekangan kunci asing daripada sourcecodes_tags kepada sourcecodes.
Untuk menyelesaikan ralat ini, kemungkinan besar jadual sourcecodes_tags mengandungi nilai untuk sourcecode_id yang tidak lagi wujud dalam sourcecodes table.
Untuk mengenal pasti nilai yang tidak konsisten ini, laksanakan pertanyaan berikut:
SELECT DISTINCT sourcecode_id FROM sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id WHERE sc.id IS NULL;
Pertanyaan ini akan mengembalikan senarai sourcecode_id nilai daripada sourcecodes_tags yang tidak sepadan dengan mana-mana entri yang sah dalam kod sumber. Dengan mengalih keluar nilai yang tidak konsisten ini daripada sourcecodes_tags, kekangan kunci asing boleh diwujudkan dengan jayanya.
Atas ialah kandungan terperinci Ralat MySQL 1452: Bagaimana untuk Menyelesaikan Pelanggaran Kekangan Utama Asing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!