我知道如何增加/减少列中的值。
值类型为INT(11)
命令:
UPDATE table SET value = value - 1 WHERE id = 1
但是当价值达到“0”时,它会不断下降。
问题:如何减少到零,所以我在列中没有得到值(-1)?
感谢您提供代码/意见/建议
答案 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