mysql - 如何更新 mysql 查询中的列

标签 mysql sql database

我想使用聚合函数更新列,但我不想循环遍历每一行。 我来自 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 . . . ;

但是,同样适用于 SQL Server,无需使用 updateble CTE:

关于mysql - 如何更新 mysql 查询中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52779390/

相关文章:

php - AJAX 脚本没有正确地将变量解析为 php

mysql - SQL根据条件求字段平均值

database - 数据库的自然语言接口(interface)是死胡同吗

java - HashMap 中的 MyBatis 参数

java - 使用 java 和 mySQL 的泰米尔语 utf-8 编码

mysql - MySQL 表名中的下划线会导致问题吗?

mysql - 具有多个 AND 运算符的 MySQL 查询存在语法问题

sql - 名字和姓氏表以提高性能?

mysql - 如何优化UPDATE语句?

python - Djongo 查询 BooleanField 失败