PostgreSQL - 更新查询中的语法错误

时间:2013-08-29 11:18:55

标签: postgresql phppgadmin

请检查以下查询。

update product set product_price = 5 where product_price = 0
ERROR:  syntax error at or near "set" at character 45

SQL错误:

ERROR:  syntax error at or near "set" at character 45

声明:

SELECT COUNT(*) AS total FROM (update product set product_price = 5 where product_price = 0) AS sub

我不知道为什么会收到此错误。请帮帮我。

3 个答案:

答案 0 :(得分:2)

with s as (
    update product
    set product_price = 5
    where product_price = 0
    returning product_price
)
select count(*)
from s

答案 1 :(得分:1)

update语句不返回可在select中使用的值。

如果您想知道有多少行影响了您,according to this可以使用

GET DIAGNOSTICS my_variable = ROWCOUNT;

有多种方法可以以编程方式执行,但如何执行此操作取决于所使用的语言。

答案 2 :(得分:0)

SELECT COUNT(*)AS total FROM(yourquery)wraping似乎是由于复选框" paginate results"检查。如果取消选中该框,则更新应该有效。