当我们涉及到数据库字段自减1的时候,需要考虑到是否小于0的情况,一般情况,我们的sql:
update table set column = column -1 where id = id
但是如果column的字段值是0,那么再-1的话就是负数,明显不符合业务逻辑,所以,sql为:
update table set column = IF(column < 1, 0, column -1) where id = id
意思是:如果column的值小于1,那么赋值为0,否则column-1