Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Kegagalan Kekangan Kunci Asing MySQL (Kod Ralat 1452)?

Mengapa Saya Mendapat Kegagalan Kekangan Kunci Asing MySQL (Kod Ralat 1452)?

Barbara Streisand
Lepaskan: 2025-01-21 05:20:13
asal
664 orang telah melayarinya

Why Am I Getting a MySQL Foreign Key Constraint Failure (Error Code 1452)?

Kekangan kunci asing MySQL gagal: kod ralat 1452

Semasa cuba memasukkan nilai ke dalam jadual ORDRELINJE dalam pangkalan data MySQL, ralat berlaku dengan mesej "Kod ralat: 1452. Tidak dapat menambah atau mengemas kini baris anak: Kekangan kunci asing gagal".

Memahami kekangan kunci asing

Kekangan utama asing memastikan integriti rujukan dalam pangkalan data hubungan. Kunci asing ialah lajur dalam jadual anak yang merujuk lajur kunci utama dalam jadual induk. Apabila baris disisipkan atau dikemas kini dalam jadual anak, nilai kunci asing mesti sepadan dengan nilai sedia ada dalam lajur kunci utama jadual induk.

Analisis ralat

Dalam kes ini, ralat menunjukkan bahawa jadual ORDRELINJE mempunyai kekangan kunci asing yang merujuk kepada jadual Ordre. Apabila cuba memasukkan baris ke dalam jadual ORDRELINJE, nilai lajur Ordre tidak sepadan dengan mana-mana baris sedia ada dalam jadual Ordre.

Menyelesaikan ralat

Untuk menyelesaikan ralat ini, pastikan syarat berikut dipenuhi:

  1. Padan baris dalam jadual induk: Nilai lajur Ordre dalam jadual ORDRELINJE hendaklah sepadan dengan nilai sedia ada lajur OrdreID dalam jadual Ordre. Jika perlu, masukkan baris yang sepadan dahulu ke dalam jadual Ordre.
  2. Keserasian jenis data: Jenis data lajur kunci asing (Ordre) dan lajur kunci utama yang dirujuknya (OrdreID) mesti sepadan.
  3. Tingkah laku melata: Konfigurasikan kekangan kunci asing untuk membenarkan baris dimasukkan ke dalam jadual anak walaupun tiada baris yang sepadan dalam jadual induk. Ini boleh dicapai dengan menggunakan pilihan ON DELETE CASCADE atau ON UPDATE CASCADE apabila mencipta kekangan kunci asing.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Kegagalan Kekangan Kunci Asing MySQL (Kod Ralat 1452)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan