1. 程式人生 > >如何編寫一條SQL實現根據某個欄位的條件對某個欄位進行不同的update操作

如何編寫一條SQL實現根據某個欄位的條件對某個欄位進行不同的update操作

例如:有一個user_notice表,裡面有一個count欄位,是代表當前使用者有多少條需要閱讀的訊息的,閱讀完畢以後,會更新改欄位,統一減去1或者指定的數值(例如全部置為已讀),因此如果count欄位的數值小於閱讀的數量,會出現負數的情況,可以這樣寫SQL語句避免:

例如要減去的數量是6:

update user_notice

set count=

case

when count<6

then 0

else count-6

end

如果當前數值不夠減,就直接置為0。


在MySQL上測試通過。