Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mengendalikan Ralat Kemasukan Pendua dalam MySQL: INSERT...ABAIKAN, GANTIKAN KE DALAM, atau INSERT...PADA KEMASKINI KUNCI DUA?

Cara Mengendalikan Ralat Kemasukan Pendua dalam MySQL: INSERT...ABAIKAN, GANTIKAN KE DALAM, atau INSERT...PADA KEMASKINI KUNCI DUA?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 13:42:29326semak imbas

How to Handle Duplicate Entry Errors in MySQL: INSERT...IGNORE, REPLACE INTO, or INSERT...ON DUPLICATE KEY UPDATE?

Mengabaikan Ralat Kemasukan Pendua dalam MySQL

Sisipan pangkalan data kadangkala boleh mengakibatkan ralat kemasukan pendua apabila cuba menambah rekod dengan pengecam unik. MySQL menyediakan beberapa alternatif untuk mengendalikan ralat tersebut.

Satu pilihan ialah menggunakan sintaks INSERT...IGNORE, yang menghalang penjanaan ralat sekiranya berlaku entri pendua. Ia hanya melangkau sisipan tanpa sebarang pemberitahuan.

Pendekatan lain ialah menggunakan REPLACE INTO, yang menggantikan rekod sedia ada dengan nilai kunci yang sama. Daripada mengabaikan sisipan, ia akan menimpa rekod lama dengan rekod baharu.

Akhir sekali, INSERT...PADA KEMASKINI KUNCI PENDULIK membolehkan operasi kemas kini dilakukan pada pertemuan kunci pendua. Ini bermakna daripada cuba memasukkan rekod baharu, MySQL akan mengemas kini rekod sedia ada dengan nilai yang disediakan.

Contoh:

Pertimbangkan jadual bernama tbl dengan lajur id dan nilai. Pada mulanya, ia mengandungi satu entri: id=1 dan nilai=1. Menjalankan penyataan berikut menunjukkan kelakuan setiap sintaks:

  • GANTIKAN KE DALAM tbl VALUES(1,50);: Mengemas kini rekod sedia ada, menghasilkan id=1 dan value=50.
  • MASUKKAN ABAIKAN KE DALAM NILAI tbl (1,10);: Menyisipkan apa-apa, kerana kunci pendua wujud.
  • MASUKKAN KE DALAM NILAI tbl (1,200) PADA nilai KEMASKINI KUNCI DUA=200;: Mengemas kini rekod sedia ada, menghasilkan id=1 dan nilai=200.

Atas ialah kandungan terperinci Cara Mengendalikan Ralat Kemasukan Pendua dalam MySQL: INSERT...ABAIKAN, GANTIKAN KE DALAM, atau INSERT...PADA KEMASKINI KUNCI DUA?. 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