-1

我正在尝试调整以下查询以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 行的 col。

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

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

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

感谢您的时间和帮助。

4

1 回答 1

0
UPDATE table
SET col = case when id = 1 
               then col+1
               else 9
          end
WHERE id in (1,2,3)
于 2012-09-24T15:36:58.233 回答