看板 Database 關於我們 聯絡資訊
資料庫名稱:SQLite 資料庫版本:null 內容/問題描述: 我有個資料是如圖1 http://i.imgur.com/TUMiQtL.png 在這邊我想使用一行指令update多筆row的資料 在這邊假設我只update一筆資料 在這邊參考此篇的寫法http://goo.gl/sz4l09 我想要UPDATE pid='B'且spec='L'的number數量改為999 http://i.imgur.com/J4oTOZU.png --------SQL指令------------ UPDATE test SET `number` = (case when pid='B' and spec='L' then 999 END) WHERE pid in ('A','B') AND spec in ('S','M','L','XL'); --------------------------- 但是使用此寫法後除了該筆資料number欄位改為999, 其餘row的number欄位皆變為null 可是其他的我想讓它保持原來的數值不要去改變它 http://i.imgur.com/3XQkagm.png 請問能怎麼做呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.43.23.4 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1442815147.A.65A.html ※ 編輯: dwadefans (115.43.23.4), 09/21/2015 13:59:31
moyasi: else 09/21 14:27
dwadefans: 感謝大大~~我使用else解決了~ 09/21 14:32
dwadefans: 在then 999後加入else `number`就ok了!!! 09/21 14:33
dwadefans: 後半段的where會不會是多餘的呢? 09/21 16:33
moyasi: 後半段where不下條件就直接針對整個table 09/21 23:52