大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,樯橹灰飞烟灭。故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。
返回顶部

phpmyadmin偶数删除文章

phpMyAdmin 里按“偶数”规则删除文章,本质上是用 SQL 条件删除。下面按 WordPress 场景(你前面一直在用 WP)给你几种可直接用的、安全到激进方案。


一、最常见需求:删除“ID 为偶数”的文章(推荐)

WordPress 文章表:wp_posts
文章类型:post

SQL(只删偶数 ID 的文章)

 
DELETE FROM wp_posts WHERE post_type = 'post' AND (ID % 2 = 0);

👉 含义:

  • ID % 2 = 0 → 偶数

  • 只影响文章,不影响页面、附件

⚠️ 强烈建议先用 SELECT 验证

 
SELECT ID, post_title FROM wp_posts WHERE post_type = 'post' AND (ID % 2 = 0);

确认无误再执行 DELETE。


二、同时清理文章对应的 meta(很重要)

只删 wp_posts 会留下大量垃圾 postmeta

正确做法(两步)

① 先删除文章

 
DELETE FROM wp_posts WHERE post_type = 'post' AND (ID % 2 = 0);

② 再删除对应 meta

 
DELETE FROM wp_postmeta WHERE post_id % 2 = 0;

三、更安全:只删“已发布”的偶数文章

 
DELETE FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' AND (ID % 2 = 0);

适合你这种 采集 / 海量内容站,避免误删草稿。


四、按“排序后的偶数条”删除(进阶)

⚠️ 注意:SQL 没有天然“第 2 条、第 4 条”的概念
只能通过 临时表 / 子查询

示例:按 ID DESC 排序后删除偶数条

 
DELETE FROM wp_posts WHERE ID IN ( SELECT ID FROM ( SELECT ID, @rownum := @rownum + 1 AS rn FROM wp_posts, (SELECT @rownum := 0) r WHERE post_type = 'post' ORDER BY ID DESC ) t WHERE rn % 2 = 0 );

👉 适合:

  • 想“保留一半文章”

  • 隐藏模板站特征

  • 内容降重


五、phpMyAdmin 实际操作步骤(防翻车)

  1. 进入 phpMyAdmin

  2. 选择数据库

  3. 点击 SQL

  4. 先执行 SELECT

  5. 确认数量无误

  6. 再执行 DELETE

  7. 最后执行 wp_postmeta 清理


六、强烈建议你做的三件事

先备份

 
mysqldump -u root -p 数据库名 > backup.sql

不要直接 LIMIT 删除

 
DELETE FROM wp_posts LIMIT 1000; ❌(非常危险)

一次删太多可分批

 
DELETE FROM wp_posts WHERE post_type='post' AND ID % 2 = 0 LIMIT 5000;

posted on 2026-01-26 19:32  何所为  阅读(0)  评论(0)    收藏  举报

导航