mysql中的减量超过了零

时间:2009-11-29 18:40:06

标签: mysql limit decrement

我试图在mysql中执行此操作:

UPDATE表SET值=值 - 1 WHERE blah blah

如果value为0且这是run,则将值设置为4294967295.这是因为它是无符号整数,因此它循环回到最大值。

我将如何让它保持零度?我可以纯粹在sql中执行此操作吗?

5 个答案:

答案 0 :(得分:12)

`AND value > 0`

答案 1 :(得分:3)

SET value = IF(value=0,0,value-1)

答案 2 :(得分:2)

使用where子句说出值> 0

周日晚上SQL总是伤害我。 : - )

答案 3 :(得分:1)

只需附加到SQL字符串AND value > 0

即可

答案 4 :(得分:0)

您可以运行第二个查询或if语句,检查它是否设置为最大值并将其重新设置为0。 但这是某种愚蠢的......

编写一个快速函数来检查条目,如果条目已经为0则不执行任何更新查询。

<强> (if value >= 0, do not perform xy)