如何快速、批量的删除wordpress产品附sql语句
做过独立站的朋友都知道,如果从后台删产品很慢,特别是几十万上百万数据时,一次删太多直接卡死,几十几十的删太慢了于是就有了快速批量删除wordpress的产品脚本

做过独立站的朋友都知道,如果从后台删产品很慢,特别是几十万上百万数据时,一次删太多直接卡死,几十几十的删太慢了
于是就有了快速批量删除wordpress的产品脚本
直接从数据库清空post表虽然产品没了,但是产品的参数还在如:价格、变体、图片等等。这些都在,因为不是放在一个表,是分开的,所以要删除指定的才行
价格、变体、图片等等也不能直接删,因为网站的设置包括编辑器内容、整站IU,设置政策这些都在这个表,所以我们需要sql来删除指定的参数
原理就是直接在数据库执行SQL语句批量删除产品、变体、图片、价格这些
方法一
打开终端连接你要删除产品的数据库
mysql -u username -p -h 127.0.0.1 db_name
然后输入密码确定即可
注:删除图片、变体请根据上面sql语句更改下
执行以下SQL语句:
-- 删除产品的元数据
DELETE pm
FROM wp_postmeta pm
JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.post_type = 'product';
-- 删除产品的评论(如果有)
DELETE c, ct
FROM wp_comments c
LEFT JOIN wp_commentmeta ct ON c.comment_ID = ct.comment_id
JOIN wp_posts p ON c.comment_post_ID = p.ID
WHERE p.post_type = 'product';
-- 删除产品的分类关系
DELETE tr
FROM wp_term_relationships tr
JOIN wp_posts p ON tr.object_id = p.ID
WHERE p.post_type = 'product';
-- 删除产品
DELETE FROM wp_posts
WHERE post_type = 'product';
方法二
直接在宝塔的phpmyadmin打开,选择要删的数据,点击sql语句
注:删除图片、变体请根据上面sql语句更改下
-- 删除产品的元数据
DELETE pm
FROM wp_postmeta pm
JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.post_type = 'product';
-- 删除产品的评论(如果有)
DELETE c, ct
FROM wp_comments c
LEFT JOIN wp_commentmeta ct ON c.comment_ID = ct.comment_id
JOIN wp_posts p ON c.comment_post_ID = p.ID
WHERE p.post_type = 'product';
-- 删除产品的分类关系
DELETE tr
FROM wp_term_relationships tr
JOIN wp_posts p ON tr.object_id = p.ID
WHERE p.post_type = 'product';
-- 删除产品
DELETE FROM wp_posts
WHERE post_type = 'product';
分享
你的反应是什么?






