mysql - 根据select更新MySQL表

标签 mysql

我可以根据对每一行的选择来运行更新查询吗?这是我想尝试的:

UPDATE adverts SET advert_visits = (SELECT COUNT(earning_id) FROM earnings WHERE earning_advert_id = 1093)

但我不确定如何让选择应用广告表中每一行的正确 advert_id?

或者这可能只是一个完全无效的语法,我不确定。

最佳答案

只需简单地引用更新后的表:

UPDATE adverts
SET advert_visits = (
    SELECT COUNT(earning_id)
    FROM earnings
    WHERE earning_advert_id = adverts.advert_id
)

关于mysql - 根据select更新MySQL表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35023501/

相关文章:

MySQL 比较来自 unix 时间戳的日期

php - 如何访问 mysqli_query 的数组值

php - 从 php 模块中显示图像

mysql - 如何匹配对角线上两列(同一张表)的值,不匹配时显示结果

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - mysql中每行有多个链接

php - Doctrine 查询语言,两个连接查询

mysql - 在 Sql 中对数据进行分组

mysql - 用户定义的排序 - 额外的列或表?

java - Hibernate注解,Mysql TEXT列,始终创建varchar