MySQL – 依條件更新或新增資料(UPDATE or INSERT WHERE / ON DUPLICATE KEY)

若您有多個 MySQL 資料庫想要更新或新增相同鍵值的資料,我們可以用 ON DUPLICATE KEY 的方式來處理

我們以資料庫範例圖來實作(這是其中一個資料庫的範例)

資料表原始畫面

MySQL - 依條件更新或新增資料(UPDATE or INSERT WHERE / ON DUPLICATE KEY) - barryblogs.com

在這邊要更改 admin_email 的值,而以下語法可以先尋找是否有 option_name= ‘admin_email’ 的 key,如果有就更新 option_value,否則就直接插入一筆資料

SQL 語法

以下是指令執行後的結果,同時我也下了 SELECT 方便直接檢視出結果列表:
(資料庫中存在 admin_email 時,更新會是 2 列,否則如果是新增資料,會顯示 1 列)

執行後結果畫面

MySQL - 依條件更新或新增資料(UPDATE or INSERT WHERE / ON DUPLICATE KEY) - barryblogs.com

SQL 語法簡述

再來,我們檢視一下語法

ON DUPLICATE KEY UPDATE 可以當作條件,若資料中有 option_name= ‘admin_email’ 時,就會 UPDATE 逗號後面的所有資料
否則就直接使用 INSERT INTO … VALUES 來新增資料哦!

相連文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *