sql查询按发布日期批量删除商业产品

koaltpgm  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(327)

我们的商店网站上有超过5万种产品,其中大约一半需要删除。我们使用wpallimport对产品进行了一次新的上传,并设置了删除上传中不存在但不起作用的产品的选项。相反,它只是添加了我们的csv中的所有内容。我们尝试用bulkwp进行批量删除,但它使站点崩溃。我已经手动删除他们,但只能做60次,以确保安全,这是不崩溃。我已经将内存增加到1024,执行时间增加到600,输入变量增加到3000,但它仍然不喜欢它。我们希望使用sql查询删除所有发布日期早于上次导入日期的产品,因为这可能是最快的方法,但我们想看看这是否能像我这里所说的那样工作,x是多少天之前: DELETE FROM 'wp_posts' WHERE 'post_type' = 'product' AND DATEDIFF(NOW(), 'post_date') > X 是否有任何其他数据,将需要删除,一旦产品被删除后元?如果是这样的话,什么查询可以删除只针对那些具有较旧post date的元呢?非常感激

xuo3flqw

xuo3flqw1#

woocommerce产品主要分布在两个表中,即wp\u posts和wp\u postmeta。如果要删除它们,则必须使用join子句来组合这些表中的产品行。
假设您要删除2018年9月1日之前添加的所有产品。您可以使用下面的查询。

DELETE wp_posts, wp_postmeta FROM wp_posts 
JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
WHERE wp_posts.post_type = 'product' and wp_posts.post_date < '2018-09-01'

相关问题