首頁 > 資料庫 > mysql教程 > MySQL 是否提供等效的 MERGE 語句?

MySQL 是否提供等效的 MERGE 語句?

DDD
發布: 2024-12-30 07:13:09
原創
499 人瀏覽過

Does MySQL Offer a MERGE Statement Equivalent?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板