使用 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中文網其他相關文章!