我正尝试在Wordpress数据库上运行SQL命令。我想用值"trash"更新wp_6_posts表的post-status列中的某些条目。我想要更新的条目是表wp_6_term_relationships中term_taxonomy_id = 13。
然后,对于所有这些匹配,我希望将object_id from wp_6_term关系与wp_6_posts中的ID列进行匹配。
然后,我只想更新其中ID值与wp_6_terms_relationships表中的object_id值匹配的wp_6_posts行。
这是我遇到的最接近的例子,但它只是将wp_6_posts中所有帖子的post_status值设置为"trash"。我知道我只是有点语法或逻辑上的问题。
UPDATE wp_6_posts
SET post_status = "trash"
WHERE EXISTS
( SELECT object_id
FROM wp_6_term_relationships
WHERE term_taxonomy_id = "13"
AND object_id = ID
)发布于 2011-04-16 07:55:25
UPDATE wp_6_posts
SET post_status = "trash"
WHERE id IN
( SELECT object_id
FROM wp_6_term_relationships
WHERE term_taxonomy_id = "13"
)发布于 2011-04-19 19:22:07
这是SQL高手给我的答案,对我很管用。此查询使用类别段而不是类别ID #。我不完全理解它,但它是有效的--它给所有“售出”类别的帖子以“垃圾”的post_status。
update wp_posts set post_status = 'trash'
where `id` in
(SELECT object_id
FROM wp_term_relationships wtr
JOIN wp_term_taxonomy wtt ON ( wtr.term_taxonomy_id = wtt.term_taxonomy_id )
JOIN wp_terms wt ON ( wtt.term_id = wt.term_id )
WHERE wtt.taxonomy = 'category'
AND wt.slug = 'sold')https://stackoverflow.com/questions/5682825
复制相似问题