MySQL 可以使用 MERGE 語句嗎?
將 INSERT 和 UPDATE 作業合併到單一查詢中通常是可取的。許多 SQL 資料庫為此提供了 MERGE 語句。但是,MySQL 支援這樣的語句嗎?
MySQL 和 MERGE 語句
MySQL 不明確支援 MERGE 語句。但是,它確實提供了實現類似功能的替代方案:INSERT...ON DUPLICATE KEY UPDATE。
語法和用法
INSERT...ON DUPLICATE KEY UPDATE 語句允許您向表中插入新行,如果已存在具有相同主鍵或唯一鍵的行,它將更新現有行新值。
語法如下:
INSERT INTO table (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column1 = new_value1, column2 = new_value2, ...
範例
為了說明其用法,請考慮以下範例:
INSERT INTO Employees (id, name, salary) VALUES (1, 'John Doe', 50000) ON DUPLICATE KEY UPDATE salary = salary + 10000;
為了說明其用法,請考慮以下範例:
如果員工表中已存在ID 為 1的員工,則此語句將透過添加來更新他們的工資10000。否則,它將為 John Doe 插入一個新行,其工資為 50000。以上是MySQL 是否提供等效的 MERGE 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!