如何编写一条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上测试通过。

猜你喜欢

转载自blog.csdn.net/Cinway/article/details/78771683
今日推荐