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

Ralat MySQL 1452: Bagaimana Saya Menyelesaikan Pelanggaran Kekangan Utama Asing?

Linda Hamilton
Lepaskan: 2024-12-22 15:15:15
asal
619 orang telah melayarinya

MySQL Error 1452: How Do I Resolve Foreign Key Constraint Violations?

Pelanggaran Kekangan Kunci Asing: Memahami Ralat 1452 dalam MySQL

Ralat MySQL 1452, "Tidak boleh menambah atau mengemas kini baris anak: kunci asing kekangan gagal," timbul apabila anda cuba memasukkan atau mengubah suai data dalam jadual anak semasa melanggar hubungan utama asing. Ralat ini menunjukkan bahawa rekod yang dirujuk dalam jadual induk tiada atau tidak sah.

Dalam senario yang anda telah terangkan, anda cuba menambah kunci asing pada jadual sourcecodes_tags, merujuk kepada jadual kod sumber. Walau bagaimanapun, ia gagal kerana kemungkinan konflik.

Untuk menyelesaikan isu ini, anda harus mengenal pasti dahulu sama ada terdapat sebarang rekod yatim dalam jadual sourcecodes_tags. Rekod yatim ialah rekod yang merujuk baris yang tidak wujud dalam jadual kod sumber.

Untuk mencari rekod yatim, 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;
Salin selepas log masuk

Pertanyaan ini akan menyenaraikan ID kod sumber yang berfungsi tidak wujud dalam jadual induk.

Setelah anda mengenal pasti rekod yatim, anda boleh mengeluarkannya daripada jadual sourcecodes_tags menggunakan pernyataan DELETE. Selepas memadamkan rekod yatim, anda boleh berjaya menambah kekangan kunci asing.

Selain itu, adalah penting untuk memastikan anda memasukkan ID kod sumber yang sah ke dalam jadual sourcecodes_tags. Jika ID yang dimasukkan tidak wujud dalam jadual kod sumber, ia akan mengakibatkan ralat 1452.

Atas ialah kandungan terperinci Ralat MySQL 1452: Bagaimana Saya Menyelesaikan 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