在 phpMyAdmin 中,快速删除 WordPress 中的所有文章及其关联数据(如分类、标签、评论和元数据)需要执行一系列 SQL 查询。以下是具体步骤和 SQL 语句,请 谨慎操作,并确保事先备份数据库。
步骤 1: 确保备份数据库
在 phpMyAdmin 中导出数据库并保存备份文件,以便在操作出现问题时能恢复数据。
步骤 2: 删除所有文章及其关联数据
清空文章(包括页面和自定义文章类型)
运行以下 SQL 查询来删除 wp_posts
表中所有文章及相关记录:
DELETE FROM wp_posts WHERE post_type IN ('post', 'page', 'attachment');
删除文章元数据
清空 wp_postmeta
表中与已删除文章相关的所有元数据:
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.ID IS NULL;
删除分类和标签关系
清空 wp_term_relationships
表中与已删除文章相关的所有记录:
DELETE tr
FROM wp_term_relationships tr
LEFT JOIN wp_posts p ON tr.object_id = p.ID
WHERE p.ID IS NULL;
删除评论
清空 wp_comments
表中与已删除文章相关的所有评论:
DELETE c
FROM wp_comments c
LEFT JOIN wp_posts p ON c.comment_post_ID = p.ID
WHERE p.ID IS NULL;
删除评论元数据
清空 wp_commentmeta
表中与已删除评论相关的元数据:
DELETE cm
FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON cm.comment_id = c.comment_ID
WHERE c.comment_ID IS NULL;
步骤 3: 重置自动增长主键值(可选)
如果希望清理后的表从 1
开始计数,可以运行以下语句:
ALTER TABLE wp_posts AUTO_INCREMENT = 1;
ALTER TABLE wp_postmeta AUTO_INCREMENT = 1;
ALTER TABLE wp_term_relationships AUTO_INCREMENT = 1;
ALTER TABLE wp_comments AUTO_INCREMENT = 1;
ALTER TABLE wp_commentmeta AUTO_INCREMENT = 1;
注意事项
- 替换表名前缀:如果你的 WordPress 数据表前缀不是
wp_
,需要将查询中的wp_
替换为实际的前缀。 - 删除操作不可逆:确保所有数据已备份,删除后将无法恢复。
- 不要删除系统内置数据:上述操作会保留系统默认分类(如“未分类”)和系统设置。
执行这些步骤后,WordPress 中的所有文章及其关联数据将被清理。