[英]How to update a column within a query in mysql
我想使用聚合函数更新一列,但我不想遍历每一行。 我来自SQL Server,我们在这里做类似的事情
With CTE as (select name, price, cost, quantity price*quantity as total)
update CTE
set cost = total
这样我就可以更新整个表,而无需遍历每条记录。 我如何在mysql中完成相同的任务
只做计算:
update sales
set cost = price * quantity
where . . . ;
但是,无需使用updateble CTE
,对SQL Server
也可以使用:
我的建议是完全不存储cost
列。 而是创建一个视图:
CREATE VIEW sales_with_cost
AS
select name, price, cost, quantity, price*quantity as total FROM sales
您可以直接使用sales_with_cost
而不是sales
,并且可以确保数据一致而不需要进行更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.