如果資料不存在,才更新

#相關詞
#IF NOT EXIST, #UPDATE

問題概述

查詢想要變更的資料是否已經存在,如果已經存在就不更新了
通常用於使用者想更改具有唯一性的東西時,
例如:身分證字號、手機、電子郵件等等

資料表:myTable


Query語法

UPDATE
  myTable
SET
  email = `[email protected]`
WHERE
  name = `Adam`
AND NOT EXISTS
  (SELECT
    *
   FROM
     (SELECT
       1
     FROM
       myTable
     WHERE
       email = `[email protected]`) temp)

範例解析

資料表temp中若不到東西的話會返回0行資料
也滿足了NOT EXISTS的條件 只有在這個狀況下才會進行資料更新

results matching ""

    No results matching ""