Rumah > pangkalan data > tutorial mysql > Bagaimanakah MySQL's INSERT ... PADA KEMASKINI KUNCI PENDULIK Mengendalikan Sisipan dan Kemas Kini dengan Cekap?

Bagaimanakah MySQL's INSERT ... PADA KEMASKINI KUNCI PENDULIK Mengendalikan Sisipan dan Kemas Kini dengan Cekap?

Barbara Streisand
Lepaskan: 2025-01-21 11:57:09
asal
960 orang telah melayarinya

How Can MySQL's INSERT ... ON DUPLICATE KEY UPDATE Efficiently Handle Inserts and Updates?

Penyertaan Cekap MySQL: INSERT ... PADA KEMASKINI KUNCI PENDUA

MySQL kerap menghadapi senario yang memerlukan sama ada memasukkan baris baharu atau mengemas kini baris sedia ada berdasarkan kehadiran kunci. Operasi gabungan ini, yang dikenali sebagai upsert (atau gabungan), dikendalikan secara elegan dalam MySQL menggunakan satu pernyataan.

Memanfaatkan INSERT ... PADA KEMASKINI KUNCI DUA

Daripada berbilang pertanyaan, pernyataan INSERT ... ON DUPLICATE KEY UPDATE MySQL menyelaraskan proses ini. Sintaksnya adalah mudah:

<code class="language-sql">INSERT INTO `table_name`
(`column1`, `column2`, ...)
VALUES
(`value1`, `value2`, ...)
ON DUPLICATE KEY UPDATE
`column1` = `value1`,
`column2` = `value2`,
...</code>
Salin selepas log masuk

Aplikasi Praktikal: Menambah Kiraan Penggunaan

Bayangkan jadual usage dengan lajur thing_id, times_used dan first_time_used. Matlamatnya adalah untuk meningkatkan times_used untuk thing_id tertentu jika baris itu wujud; jika tidak, masukkan baris baharu.

Tugas ini mudah dicapai menggunakan INSERT ... ON DUPLICATE KEY UPDATE:

<code class="language-sql">INSERT INTO `usage`
(`thing_id`, `times_used`, `first_time_used`)
VALUES
(4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE
`times_used` = `times_used` + 1</code>
Salin selepas log masuk

Pertanyaan ini mengendalikan kedua-dua senario dengan bijak: jika thing_id 4815162342 wujud, times_used dinaikkan; jika tidak, baris baharu ditambah dengan nilai yang ditentukan. Ini menunjukkan kecekapan dan ringkasan fungsi upsert MySQL.

Atas ialah kandungan terperinci Bagaimanakah MySQL's INSERT ... PADA KEMASKINI KUNCI PENDULIK Mengendalikan Sisipan dan Kemas Kini dengan Cekap?. 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