基于元数据的批量删除帖子

时间:2013-09-09 作者:Stephen

我需要删除对某个元键具有某个元值的所有帖子。我正在寻找如何直接在DB中执行此操作。例如,我有一个名为“state”的元字段,我想删除该键的元值不等于“CA”的所有帖子(有数千篇)。我找到了可以删除特定类型的所有帖子和所有相关元数据的查询,但找不到可以通过元数据删除帖子的查询。

1 个回复
最合适的回答,由SO网友:Stephen 整理而成

根据我上面的评论:

我现在可以用两个单独的查询来完成这项工作,但如果能用一个查询就可以了。不过,这是一个进步。第一个查询如下:

DELETE wp FROM wp_posts wp LEFT JOIN wp_postmeta pm ON pm.post_id = wp.ID WHERE pm.meta_key = \'state\' AND pm.meta_value != \'CA\';

第二个(清理孤立元数据)是这样的:

DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL

结束

相关推荐

从现有MySQL安装程序迁移到WordPress

我当前有一个具有以下架构的数据库:表:文章列:ID、标题、作者、内容表:作者列:ID、AuthorName、EmailAddress表:类别列:ID、CategoryName我有兴趣把这个转移到WordPress上。我实际上不需要保留authors或categories表,因为我们正在迁移中修改这些部分。但是,我确实需要保存articles表的某些行(或者所有行,如果更容易的话)。这包括保持作者ID与之链接。我愿意手动查询,以选择要移到新表的行,但我不确定应该在哪里执行此操作。因此,我的问题是:如何以最简