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 MySQL 1452: Bagaimana untuk Membetulkan 'Tidak boleh menambah atau mengemas kini baris anak'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-21 05:07:08332semak imbas

MySQL Foreign Key Constraint Error 1452: How to Fix

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.

  • Jadual induk: mengandungi nilai kunci utama.
  • Jadual anak: mempunyai nilai kunci asing yang menghala ke jadual induk.

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!

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