Rumah >pangkalan data >tutorial mysql >Ralat Kekangan Kunci Asing MySQL 1452: Bagaimana untuk Membetulkan 'Tidak boleh menambah atau mengemas kini baris anak'?
Ralat kekangan kunci asing dalam MySQL: "Ralat 1452: Tidak boleh menambah atau mengemas kini baris anak"
Apabila memasukkan data ke dalam jadual anak, kekangan kunci asing memastikan data yang dirujuk dalam jadual induk wujud. Walau bagaimanapun, jika kekangan ini dilanggar, ralat berlaku, seperti yang ditunjukkan dalam pertanyaan berikut:
<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>
Ralat pemahaman
Ralat "Ralat 1452: Tidak dapat menambah atau mengemas kini baris anak: kekangan kunci asing gagal" menunjukkan bahawa tiada baris dalam jadual induk yang sepadan dengan nilai kunci asing yang ditentukan. Dalam contoh ini, tiada Ordre dengan OrderID 100.
Selesaikan masalah
Untuk menyelesaikan ralat ini, anda mesti memastikan data yang dirujuk wujud dalam jadual induk:
<code class="language-sql">INSERT INTO Ordre (OrdreID, KundeID) VALUES (100, 200);</code>
Setelah jadual induk mempunyai data yang diperlukan, anda boleh memasukkan data ke dalam jadual anak tanpa menghadapi ralat kekangan kunci asing:
<code class="language-sql">INSERT INTO Ordrelinje (Ordre, Produkt, AntallBestilt) VALUES (100, 1, 5);</code>
Hubungan utama asing
Perhubungan utama asing mewujudkan pautan antara jadual, memastikan integriti data dan mencegah anomali manipulasi data. Jadual anak mengandungi lajur yang merujuk lajur dalam jadual induk, mewujudkan hubungan ibu bapa-anak.
Kuatkuasakan kekangan kunci asing
Tetapan pangkalan data lalai biasanya menguatkuasakan kekangan kunci asing. Jika pelanggaran berlaku, pangkalan data tidak akan membenarkan operasi manipulasi data diteruskan.
Atas ialah kandungan terperinci Ralat Kekangan Kunci Asing MySQL 1452: Bagaimana untuk Membetulkan 'Tidak boleh menambah atau mengemas kini baris anak'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!