Bagaimana untuk Mengendalikan Kunci Pendua dalam Penyata INSERT MySQL?

Barbara Streisand
Lepaskan: 2024-11-26 22:45:11
asal
219 orang telah melayarinya

How to Handle Duplicate Keys in MySQL INSERT Statements?

Abaikan atau Kemas Kini Kekunci Pendua dalam MySQL

Apabila cuba memasukkan data ke dalam jadual yang menguatkuasakan kekangan UNIK pada medan tertentu, seperti "tag" dalam ini kes, menghadapi nilai pendua boleh membawa kepada ralat. Soalan ini meneroka cara mengendalikan situasi sedemikian, dengan tumpuan khusus untuk mengabaikan pendua.

Contoh pertama yang diberikan menunjukkan percubaan untuk memasukkan berbilang nilai ke dalam jadual "table_tags", dengan niat untuk mengabaikan sebarang teg pendua. Walau bagaimanapun, menggunakan "INSERT INTO ... ON DUPLICATE KEY IGNORE" tidak disyorkan, kerana ia berpotensi untuk mengabaikan semua ralat, bukan hanya pelanggaran kunci pendua.

Sebaliknya, penyelesaian yang disyorkan ialah menggunakan "INSERT KE ... PADA DUPLICATE KEY UPDATE tag=tag;" sintaks. Pendekatan ini membolehkan anda menentukan secara eksplisit perkara yang harus berlaku sekiranya berlaku pelanggaran kunci pendua, dalam kes ini hanya mengemas kini rekod sedia ada dengan nilai yang sama.

Menggunakan sintaks ini memastikan kunci pendua tidak diabaikan, tetapi sebaliknya nilai sedia ada mereka dikekalkan. Kunci pendua diabaikan dengan berkesan, tetapi pertanyaan itu tidak menghasilkan sebarang ralat, mengakibatkan "Pertanyaan OK, 0 baris terjejas" seperti yang dijangkakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Kunci Pendua dalam Penyata INSERT MySQL?. 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