Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于select更新MySQL表_Mysql - Fatal编程技术网

基于select更新MySQL表

基于select更新MySQL表,mysql,Mysql,我是否可以基于每行的select运行更新查询?以下是我想尝试的: UPDATE adverts SET advert_visits = (SELECT COUNT(earning_id) FROM earnings WHERE earning_advert_id = 1093) 但我不确定如何使select应用广告表中每行的正确广告id 或者这只是一个完全无效的语法,我不确定。只需参考更新的表: UPDATE adverts SET advert_visits = ( SELECT C

我是否可以基于每行的select运行更新查询?以下是我想尝试的:

UPDATE adverts SET advert_visits = (SELECT COUNT(earning_id) FROM earnings WHERE earning_advert_id = 1093)
但我不确定如何使select应用广告表中每行的正确广告id


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

只需参考更新的表:

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

我想这正是我想要的。现在我想起来,这似乎很明显!我7分钟后接受