在MySQL中同時插入多行資料時,您可能需要檢查唯一鍵是否存在重複值,並根據情況進行更新或插入操作。
為此,您可以使用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>
對於早期版本,您可以使用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>
透過上述方法,您可以使用單一查詢執行批次更新或插入操作,確保資料完整性,在必要時更新現有行並插入新行。
以上是如何在 MySQL 中使用 ON DUPLICATE KEY UPDATE 執行批次插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!