首頁 >資料庫 >mysql教程 >如何對多行使用 MySQL 的 ON DUPLICATE KEY UPDATE?

如何對多行使用 MySQL 的 ON DUPLICATE KEY UPDATE?

Linda Hamilton
Linda Hamilton原創
2025-01-11 08:14:42516瀏覽

How to Use MySQL's ON DUPLICATE KEY UPDATE for Multiple Rows?

使用 MySQL 的 ON DUPLICATE KEY UPDATE 高效處理多行

MySQL 提供了一種簡化的方法來管理多行插入,同時檢查和更新現有的唯一值。這是使用 ON DUPLICATE KEY UPDATE 子句完成的。 此功能允許在單一查詢中進行有條件更新或插入特定欄位。

要選擇性地更新現有行並新增新行,請利用別名或 VALUES 關鍵字與 ON DUPLICATE KEY UPDATE 結合使用。

MySQL 8.0.19 及更高版本(使用別名):

<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>

MySQL 8.0.19 及更早版本(使用 VALUES 關鍵字):

<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>

這些範例示範如何根據現有的唯一鍵更新或插入資料。 如果唯一鍵已經存在,則更新指定欄位;否則,將插入新行。 VALUES 關鍵字或別名 new 引用插入到 INSERT 語句中的值。

以上是如何對多行使用 MySQL 的 ON DUPLICATE KEY UPDATE?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn