【发布时间】:2015-02-28 03:22:27
【问题描述】:
我有当前的 SQL 查询,它将删除自定义帖子类型 clothing 中超过 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
问题是这个查询似乎没有删除相关元数据,例如已删除帖子的相关自定义字段。
我的问题是,如何修改此代码以同时从这些帖子中删除相关元数据?
谢谢
【问题讨论】:
-
是否有理由不定义外键约束?
-
不幸的是,我不知道,我没有写这个查询,我在另一个线程上找到它并测试它可以工作,但它并没有删除相关的元数据
-
我认为 DELETE FROM 不能这样工作。尝试将查询放入
phpMyAdmin之类的工具中。为了确保它会通过,您可以为此目的进行三个查询。一种选择要删除的帖子 ID。第二个 DELETE FORM pm where post_id IN 以前选择的 ID,最后一个删除帖子,其中 ID 在相同的选定 ID 中。