我有一张桌子。一列是INT UNSIGNED
,因此不能小于零。我想减去一个数字,但如果数字大于该值,我想将它设为等于零。
我怎样才能做到这一点?
UPDATE table SET **column = greatest(column-number,0)** WHERE customer_id=?
没有成功,但在number<0
(添加值)时有效。
答案 0 :(得分:1)
我会尝试类似的事情:
UPDATE table SET column = IF(column>number,column-number,0) WHERE customer_id=?;