我想删除 Woocommerce 中的一些旧订单数据,仅保留最近 12 个月的订单数据
这是我用来删除所有订单的 SQL 查询:
DELETE FROM wp_woocommerce_order_itemmeta
DELETE FROM wp_woocommerce_order_items
DELETE FROM wp_comments WHERE comment_type = 'order_note'
DELETE FROM wp_postmeta WHERE post_id IN ( SELECT ID FROM wp_posts WHERE post_type = 'shop_order' )
DELETE FROM wp_posts WHERE post_type = 'shop_order'
我需要添加什么才能删除 2017 年 1 月 1 日之前的所有订单数据并保留 2017 年 1 月 1 日以来的订单数据?
我对 SQL 不太了解,因为多年来我使用过一些 SQL 查询。
任何帮助表示赞赏。
我很惊讶还没有一个插件可以做到这一点,也可以删除没有订单的客户。我怀疑我是唯一一个试图保持他们的 WP/WC 数据库干净的人。
这是一般的想法,首先删除子项,然后最后删除父项。未经先测试请勿运行此程序。我对丢失的数据不承担任何责任。
DELETE
FROM wp_woocommerce_order_itemmeta
WHERE order_item_id IN (
SELECT order_item_id
FROM wp_woocommerce_order_items
WHERE order_id IN (
SELECT ID
FROM wp_posts
WHERE post_date < '2017-01-01'
)
)
DELETE
FROM wp_woocommerce_order_items
WHERE order_id IN (
SELECT ID
FROM wp_posts
WHERE post_date <= '2017-01-01'
)
DELETE
FROM wp_comments
WHERE comment_type = 'order_note'
AND comment_post_ID IN (
SELECT ID
FROM wp_posts
WHERE post_date <= '2017-01-01'
)
DELETE
FROM wp_postmeta
WHERE post_id IN (
SELECT ID
FROM wp_posts
WHERE post_type = 'shop_order'
AND post_date <= '2017-01-01'
)
DELETE
FROM wp_posts
WHERE post_type = 'shop_order'
AND post_date <= '2017-01-01'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)