Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat MySQL 1452: Pelanggaran Kekangan Utama Asing?

Mengapa Saya Mendapat Ralat MySQL 1452: Pelanggaran Kekangan Utama Asing?

Susan Sarandon
Lepaskan: 2025-01-21 05:14:16
asal
242 orang telah melayarinya

Why Am I Getting MySQL Error 1452: Foreign Key Constraint Violation?

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:

  1. 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.
  2. 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.
  3. 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!

sumber:php.cn
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