mysql 中的减量超过零

发布于 2024-08-13 09:12:57 字数 187 浏览 9 评论 0原文

我正在尝试在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

翻了热茶 2024-08-20 09:12:57
`AND value > 0`
`AND value > 0`
弥繁 2024-08-20 09:12:57
SET value = IF(value=0,0,value-1)
SET value = IF(value=0,0,value-1)
我三岁 2024-08-20 09:12:57

使用 where 子句表示 value > 0

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

Use the where clause to say value > 0

Sunday night SQL always hurts me too. :-)

只是我以为 2024-08-20 09:12:57

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

Just append to the SQL string AND value > 0

夕嗳→ 2024-08-20 09:12:57

您可以运行第二个查询或 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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文