MySQL

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

MySQL – 依條件更新或新增資料(UPDATE or INSERT WHERE / ON DUPLICATE KEY)
若您有多個 MySQL 資料庫想要更新或新增相同鍵值的資料,我們可以用 ON DUPLICATE KEY 的方式來處理 我們以資料庫範例圖來實作(這是其中一個資料庫的範例) 資料表原始畫面 在這邊要更改 admin_email 的值,而以下語法可以先尋找是否有 option_name= 'admin_email' 的 key,如果有就更新 option_value,否則就直接插入一筆資料 SQL ...

MySQL – 取得無限上層結構資料 Parent tree

MySQL – 取得無限上層結構資料 Parent tree
從去年開始,就碰到要抓取上層分類的問題,以前就用很土砲的方式,先取得現在層次編號(ID),再去一層一層拿父層編號(parent_id),但通常這對效能上來說非常不優,所以在這幾天就把上層分類樹的語法拼出來了,以下是MySQL資料結構   假設今天要取得 衣裝服飾 > 男裝 > 西服 > 週邊配件 (當然,你也可以從 西服 開始算起,也就是 ID 帶入 26 即可取得 2...

MySQL IFNULL IF 與 CASE 函數

MySQL IFNULL IF 與 CASE 函數
一般在寫 MySQL 的時,某些狀況需要用到判斷式,可以讓返回的結果透過條件來達成,甚至可以省略使用其他程式碼來整理需要的結果。 通常一般情況下,可以用 if 來判斷條件與結果,若是使用 if null,則可以判斷是否為空值,用 case 可以達成更複雜的判斷結果。   IFNULL SELECT IFNULL(x, y) 如果x不是NULL(不包含0),IFNULL()返回x,否則它返...