Mysql Wordpress SQL删除帖子及其相关元数据

Mysql Wordpress SQL删除帖子及其相关元数据,mysql,sql,wordpress,Mysql,Sql,Wordpress,我有一个当前的SQL查询,它将从一个自定义帖子类型中删除所有超过2天的帖子 delete p,pm from wp_posts p join wp_postmeta pm on pm.post_id = p.id where p.post_type = 'clothing' and DATEDIFF(NOW(), p.post_date) > 2 问题是,这个查询似乎并没有删除相关的元,比如被删除帖子的相关自定义字段 我的问题是,如何修改这

我有一个当前的SQL查询,它将从一个自定义帖子类型
中删除所有超过2天的帖子

    delete
    p,pm
    from wp_posts p
    join wp_postmeta pm on pm.post_id = p.id
    where p.post_type = 'clothing'
    and DATEDIFF(NOW(), p.post_date) > 2
问题是,这个查询似乎并没有删除相关的元,比如被删除帖子的相关自定义字段

我的问题是,如何修改这段代码以同时从这些帖子中删除relate meta


谢谢

您应该分两步进行处理:

1-通过查询,构建要删除的帖子数组 2-使用foreach和wp_delete_post()循环此数组

()


核心功能wp_delete_post将处理所有相关数据,如meta,但也会处理术语中的post计数,这些数据存储在数据库中,并在插入或删除post时进行修改

是否有理由不定义外键约束?我不知道不幸的是,我没有编写此查询,我在另一个线程上找到了它,并测试它是否正常工作,但它只是没有删除相关的元数据,我认为delete-FROM不能以这种方式工作。尝试将查询放入一些工具,如
phpMyAdmin
。为了确保它会通过,您可以为此目的进行三次查询。一个用于选择要删除的post ID。第二次删除以前选定id中的pm where post_id表单,最后一次删除相同选定id中的post where id表单。