mysql 中的减量超过零
我正在尝试在 mysql 中执行此操作:
UPDATE table SET value = value - 1 WHERE blah blah
如果值为 0 并且此运行值设置为 4294967295。这是因为它是一个无符号整数,所以它循环回到最大值。
我该如何让它保持为零呢?我可以纯粹在sql中执行此操作吗?
I am trying to do this in mysql:
UPDATE table SET value = value - 1 WHERE blah blah
If value is 0 and this is run value is set to 4294967295. This is because it is an unsigned integer so it is looping round back to the maximum value.
How would I go about making it stay on zero instead? Can I do this purely in the sql?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用 where 子句表示 value > 0
周日晚上 SQL 也总是伤害我。 :-)
Use the where clause to say value > 0
Sunday night SQL always hurts me too. :-)
只需附加到 SQL 字符串
AND value > 即可0
Just append to the SQL string
AND value > 0
您可以运行第二个查询或 if 语句,检查它是否设置为最大值并将其设置回 0。
但这有点愚蠢...
编写一个快速函数来检查条目,如果它已经是 0,则不执行任何更新查询。
(如果值>= 0,则不执行xy)
You can run a second query or if-statement, checking whether it is set to the maximum and set it back to 0.
But this is some kind of stupid...
Write a quick function which checks the entry, if it is already 0 do not perform any update query.
(if value >= 0, do not perform xy)