UPDATE表SET列= GREATEST(列+数字,0)

时间:2013-11-06 07:31:13

标签: mysql sql-update unsigned

我有一张桌子。一列是INT UNSIGNED,因此不能小于零。我想减去一个数字,但如果数字大于该值,我想将它设为等于零。

我怎样才能做到这一点?

UPDATE table SET **column = greatest(column-number,0)** WHERE customer_id=? 

没有成功,但在number<0(添加值)时有效。

1 个答案:

答案 0 :(得分:1)

我会尝试类似的事情:

 UPDATE table SET column = IF(column>number,column-number,0) WHERE customer_id=?;