不使用 PHP 或任何东西。有没有办法做这样的事情:
UPDATE myTable SET var1 = var1 + 1 IF var1 < 5 ELSE var1 = 0 WHERE [WHERE clause]
从来没有真正做过任何 if mySQL 事情,所以有点不确定?
因此结果将是变量永远不会高于 5,如果它在递增时为 5,则重置为 0。
TIA
最佳答案
要么使用IF()
UPDATE MyTable SET var1 = IF(var1 < 5, var1 + 1, 0) WHERE id = 1;
或者在这种情况下,更简单,只需使用 modulo operator
UPDATE MyTable SET var1 = (var1 + 1) MOD 6 WHERE id = 1;
编辑:是的,我意识到如果范围从 0..5 开始,后一个将不起作用,我只是认为其目的是将数字保持在 0 到 5 之间(含)。如果我错了,请继续第一个 :)
关于mysql - 纯 mySQL 增量循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557088/