根据条件更新声明
如何更新DB中的discount_price价格 我需要根据自己的情况为现有价值增加价值 示例:任何产品的价格从10到30 我必须向其中添加1.5。根据条件更新声明
产品,15应该是16.5例如
我写了这个查询
UPDATE products
SET discount_price = discount_price + 1.5
WHERE discount_price >= 10 AND discount_price <= 30;
但我发现这个错误>>
SQL错误:
ERROR: syntax error at or near "SET" LINE 1: SELECT COUNT(*) AS total FROM (UPDATE products SET discount_... ^ In statement: SELECT COUNT(*) AS total FROM (UPDATE products SET discount_price = discount_price + 1.5 WHERE discount_price >= 10 AND discount_price <=30) AS sub
我猜你正在使用Postgres,并且想要统计更新所影响的行数。
WITH p as (
UPDATE products
SET discount_price = discount_price + 1.5
WHERE discount_price >= 10 AND discount_price <= 30
RETURNING *
)
SELECT COUNT(*)
FROM p;
有MySQL中没有对应的语法:如果是这样,你可以使用一个可更新的CTE。
得到这个错误,我得到这个 错误:与包含修改数据的语句必须是在顶层 线1条:SELECT COUNT(*)AS总FROM(WITH数p作为( ^ 在语句: SELECT COUNT(*)AS总FROM(具p为( UPDATE产品 SET discount_price = discount_price + 1.5 WHERE discount_price> = 10且discount_price
@MohammadKanaan ...。您有其他代码y你没有显示。我不知道'select count(*)'来自哪里,但它在某处。 –
您可以通过团队查看器访问我的笔记本电脑以查看问题吗? –
您写的查询和错误消息中的查询是不同的。 –
没有。当我点击执行查询,我的截图 –