查询更新MYSQL数据库中的数据,在表1中搜索,在表2中更新,如何?

时间:2017-11-17 19:42:29

标签: mysql database wordpress

我正在试图弄清楚如何在一个大型wordpress数据库中快速更改一些内容,通过GUI进行永久性的操作,我认为在数据库上执行这个方法会更有效率,因为它是一次性的事情。

我有以下表格:

tf.one_hot

如果匹配 term_taxonomy_id ,我需要在表 wp_termrelationships 中执行查找 term_taxonomy_id '8232'的mysql查询8232'然后获取该匹配的 object_id 并使用该数据搜索表 wp_posts ID 以获得匹配。如果在表格 wp_posts ID 中找到匹配项,请将每个帖子的 post_status 更新为“发布”

除了表wp_posts中的post_status之外,没有任何更改。

对我来说这个查询非常复杂,有什么想法吗?

1 个答案:

答案 0 :(得分:2)

让我们解构您的需求,并构建查询:

  

我需要执行一个mysql查询,在表wp_termrelationships

中查找term_taxonomy_id'8232'
SELECT object_id
FROM wp_termrelationships
WHERE term_taxonomy_id = 8232


  

如果匹配term_taxonomy_id'8232',则获取该匹配的object_id并使用它来搜索表wp_posts列ID,以获取object_id中匹配所获得的数据

这里我使用子查询:

SELECT *
FROM wp_posts
WHERE ID IN (SELECT object_id
             FROM wp_termrelationships
             WHERE term_taxonomy_id = 8232)


  

找到这些匹配后,将表wp_posts中每个匹配帖子的post_status更新为“发布”

UPDATE wp_posts
SET post_status = 'publish'
WHERE ID IN (SELECT object_id
             FROM wp_termrelationships
             WHERE term_taxonomy_id = 8232)

我认为term_taxonomy_id是一个整数。