我正在尝试在 mysql 中执行此操作:
UPDATE 表 SET value = value - 1 WHERE blah blah
如果值为 0 并且运行值设置为 4294967295。这是因为它是一个无符号整数,所以它循环返回最大值。
我将如何让它保持为零呢?我可以纯粹在 sql 中执行此操作吗?
`AND value > 0`
SET value = IF(value=0,0,value-1)
使用 where 子句表示 value > 0
周日晚上的 SQL 也总是让我很痛苦。:-)
只需附加到 SQL 字符串AND value > 0
您可以运行第二个查询或 if 语句,检查它是否设置为最大值并将其设置回 0。但这有点愚蠢......
编写一个检查条目的快速函数,如果它已经为 0,则不执行任何更新查询。
(if value >= 0, do not perform xy)