我有一个postgres表,其中包含idnameitemcounter列,现在我想为用户所属的那些行将counter值增加1。
我试过这样做,但是语法错误

UPDATE Items set counter = counter + 1 WHERE users = 'Tony';

对于用户Tony所属的所有行,这应该将counter值增加1
最初的
id | name | item    | counter
1  | Tony  | car    | 1
2  | Tony  | bike   | 1
3  | Ray   | car    | 1
4  | Ray   | bike   | 1
5  | Tony  | cycle  | 1

最终的
id | name | item    | counter
1  | Tony  | car    | 2
2  | Tony  | bike   | 2
3  | Ray   | car    | 1
4  | Ray   | bike   | 1
5  | Tony  | cycle  | 2

但我的查询出现语法错误。我做错什么了?

最佳答案

您的UPDATE查询包含users而不是name
demo: db<>fiddle

UPDATE Items set counter = counter + 1 WHERE name = 'Tony';

关于sql - 如何为postgres中的选定行将列值增加1?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52557914/

10-13 02:07