1

请检查下面的查询。

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

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

4

3 回答 3

1
with s as (
    update product
    set product_price = 5
    where product_price = 0
    returning product_price
)
select count(*)
from s
于 2013-08-29T11:43:48.460 回答
1

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

如果您想知道有多少行受到影响,可以使用

GET DIAGNOSTICS my_variable = ROWCOUNT;

有很多方法可以以编程方式完成,但如何做到这一点取决于所使用的语言。

于 2013-08-29T11:24:51.793 回答
0

SELECT COUNT(*) AS total FROM ( yourquery ) 包装似乎是由选中“分页结果”复选框引起的。如果您取消选中该框,您的更新应该可以工作。

于 2017-12-23T13:15:00.533 回答