Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan Sisipan Pukal dengan ON DUPLICATE KEY UPDATE dalam MySQL?

Bagaimana untuk Melakukan Sisipan Pukal dengan ON DUPLICATE KEY UPDATE dalam MySQL?

Susan Sarandon
Lepaskan: 2025-01-11 07:14:42
asal
711 orang telah melayarinya

How to Perform Bulk Inserts with ON DUPLICATE KEY UPDATE in MySQL?

Penjelasan terperinci tentang sisipan kumpulan MySQL dan KEMASKINI KUNCI DUA

Apabila memasukkan berbilang baris data pada masa yang sama dalam MySQL, anda mungkin perlu menyemak sama ada terdapat nilai pendua dalam kunci unik, dan melakukan kemas kini atau operasi memasukkan mengikut situasi.

Untuk melakukan ini, anda boleh menggunakan klausa ON DUPLICATE KEY UPDATE. Walau bagaimanapun, untuk data berbilang baris, cara ini dilaksanakan bergantung pada versi MySQL anda.

MySQL 8.0.19 dan ke atas

Untuk versi 8.0.19 dan ke atas, anda boleh menggunakan alias untuk mengenal pasti baris yang ingin anda kemas kini:

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)
AS new
ON DUPLICATE KEY UPDATE
  age = new.age
  ...</code>
Salin selepas log masuk

MySQL 8.0.19 atau ke bawah

Untuk versi terdahulu, anda boleh menggunakan kata kunci VALUES untuk menentukan nilai baris yang akan dikemas kini:

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)
ON DUPLICATE KEY UPDATE
  age = VALUES(age),
  ...</code>
Salin selepas log masuk

Dengan kaedah di atas, anda boleh melakukan kemas kini kelompok atau operasi sisipan menggunakan satu pertanyaan, memastikan integriti data, mengemas kini baris sedia ada dan memasukkan baris baharu apabila perlu.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Sisipan Pukal dengan ON DUPLICATE KEY UPDATE dalam 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