MySQL-遍历一列,如果满足条件则更改值

时间:2018-07-24 15:34:48

标签: mysql

我希望更改表用户内部的值-列体验。旨在将值大于20时将值更改为21。我正在寻找的是一个循环,该循环将使用以下逻辑遍历整个表的列(抱歉,说明我能做到的最好):

var column = users.experience
for (var i = 0, l = column.length; i < l; i++) {
    if (users.experience > 20) {
       users.experience = 21; 
    }
} 

用户的体验级别从0到40不等。搜索过滤器已更改,我正在尝试使现有表适应该表。搜索了相似的主题,但未找到任何直接答案。预先感谢。

1 个答案:

答案 0 :(得分:1)

如果您要做的就是将experience字段当前> 20(21、22、23,...,40)的所有记录的experience字段更新为21,则您只需一个简单的UPDATE查询---无需循环:

update users set experience = 21 where experience > 20

这是SQL,在这里您需要根据记录集来考虑,而不是根据命令式编程所熟悉的循环来考虑。当然,SQL确实提供了cursors形式的循环,但这在您的情况下似乎不是必需的。