mysql - 使用 where 子句更新两个表的内连接的列值

标签 mysql

这是 MySQL 查询:

SELECT `wp_fcfebce_postmeta`.`post_id`,
        `wp_fcfebce_postmeta`.*
FROM `wp_fcfebce_posts`,`wp_fcfebce_postmeta`
WHERE `wp_fcfebce_postmeta`.`post_id`=`wp_fcfebce_posts`.`ID`
        AND `wp_fcfebce_posts`.`post_date_gmt` > '2018-05-20 00:00:00'
        AND `wp_fcfebce_posts`.`post_date_gmt` < '2018-05-20 23:59:59'
        AND `wp_fcfebce_postmeta`.`meta_key`='_wp_attached_file'

我想更新 wp_fcfebce_postmeta 表中 meta_value 列的内容,该列的条件来自连接 wp_fcfebce_posts wp_fcfebce_postmeta 表。

最佳答案

假设您想要与选择中相同的逻辑,但应用于更新,您可以尝试以下操作:

UPDATE wp_fcfebce_postmeta t1
INNER JOIN wp_fcfebce_posts t2
    ON t1.post_id = t2.ID
SET t1.meta_value = 'some_value'
WHERE
    t2.post_date_gmt >= '2018-05-20' AND
    t2.post_date_gmt < '2018-05-21' AND
    t1.meta_key = '_wp_attached_file';

请注意,我重写了 WHERE 子句中的日期限制。

关于mysql - 使用 where 子句更新两个表的内连接的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50466519/

相关文章:

php加入并计数然后分组并排序

mysql - 90 球宾果游戏 - 获得中奖券的最短路径

php - 如何更新基本上具有年份的表列之一,我只需要增量更新

mysql - 距离明天还有多长时间(以 hr::mi:ss 表示)?

javascript - JS 脚本无法理解通过 PHP 分配给 HTML 输入值的变量

mysql - unknown.binary :mysql-connector-java-5. 1.23-bin :jar:SNAPSHOT is missing, 的 POM 没有可用的依赖信息

PHP 计算在许多列中包含相同值的 MYSQL 行

mysql - SQL 强制我使用默认值和属性

php - 如何从 8 :00 am to 8:00 pm? 计算 15 分钟间隔内的可用时间

mysql - Spring和MySQL存储过程