使用WHERE的Mysql更新

时间:2012-09-24 15:32:39

标签: mysql

我正在尝试调整以下查询,以便在多行中向col添加1。

UPDATE table
SET col=col+1
WHERE id in (1,2,3)

它不起作用,我认为因为我没有使用相同的数据更新col,所以它已经在那里添加了1。

我可以使用以下查询,但无法使用多个查询来替换上面的单个查询,无法弄清楚如何实现我想要的。

UPDATE table
SET col=col+1
WHERE id =1

...在第1行成功添加1。

UPDATE table
SET col=9
WHERE id in (1,2,3)

...成功在第1,2和3行中使col = 9

有没有办法调整第一个查询?

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

UPDATE table
SET col = case when id = 1 
               then col+1
               else 9
          end
WHERE id in (1,2,3)