这是 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/