SQL - 将值减小到零

时间:2014-12-19 15:20:36

标签: mysql sql

我知道如何增加/减少列中的值。

值类型为INT(11)

命令:

UPDATE table SET value = value - 1 WHERE id = 1

但是当价值达到“0”时,它会不断下降。

问题:如何减少到零,所以我在列中没有得到值(-1)?

感谢您提供代码/意见/建议

4 个答案:

答案 0 :(得分:6)

只需使用条件:

UPDATE table
    SET value = value - 1
    WHERE id = 1 AND value > 0;

答案 1 :(得分:0)

将其添加到where子句:

UPDATE table SET value = value - 1 WHERE (id = 1) AND (value > 0)

一旦值达到0,它就不会再次更新,因为where子句将从更新中排除该记录。

答案 2 :(得分:0)

你可以像这样添加你的where子句:

UPDATE table 
SET value = value - 1 
WHERE id = 1 and value >= 1

答案 3 :(得分:0)

您可以使用CASE

UPDATE table SET value = CASE WHEN value = 1 THEN value = value - 1
ELSE value
END
WHERE id = 1