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= 'admi...

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

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

MySQL IFNULL IF 與 CASE 函數 的 3 種例子

MySQL IFNULL IF 與 CASE 函數 的 3 種例子
一般在寫 MySQL 時,某些狀況需要用到判斷式,可以讓返回的結果透過條件來達成,甚至可以省略使用其他程式碼來整理需要的結果。 通常一般情況下,可以用 if 來判斷條件與結果,若是使用 if null,則可以判斷是否為空值,用 case 可以達成更複雜的判斷結果,就像是以前常聽到的 if else 或 if then else。