Products
96SEO 2025-09-20 10:59 0
Dedecms作为国内广泛使用的内容管理系统,因其灵活性和易用性深受站长喜爱。因为网站内容的累积,某些栏目文章数量庞大且不再需要时手动一篇篇删除不仅耗时还极易出错。
本教程将教你如何高效、快捷地批量删除dedecms中特定栏目的所有文章。通过数据库操作及后台结合使用,避免数据残留和平安隐患,让维护更轻松。
操作前务必做好备份!
通过phpMyAdmin选择“导出”功能,将当前网站数据库完整保存。
Dedecms的文章表通常是dede_archives
, 关联详细信息在dede_addonarticle
, 栏目ID字段名为typeid
.
表名 | 主要字段说明 |
---|---|
dede_archives | ID、标题、栏目ID、发布时间等基本信息存储地。 |
dede_addonarticle | aID、正文内容及附加字段。 |
SELECT id, typename FROM dede_arctype;
该语句帮助您查看所有栏目及对应的ID,方便后续指定删除范围。
注意: 直接从后台逐条删除效率低且可能会造成数据不一致。推荐在数据库层面施行连贯操作。
-- 删除指定栏目的文章 DELETE a, b FROM dede_archives a LEFT JOIN dede_addonarticle b ON a.aid = b.aid WHERE a.typeid = 123;
将上面代码中的'123'
替换为你的目标栏目的ID即可。
代码解释:
a, b
: 指明一边删除两张表相关记录。dede_archives a LEFT JOIN dede_addonarticle b ON a.aid = b.aid
: 利用aid关联主表与附加表数据。a.typeid = 123
: 限定只删除特定栏目的文章,不影响其他内容。If your dedecms setup uses static HTML pages , you need to manually delete corresponding static files to prevent访问404错误.
/html/栏目目录/aid.html 或 /html/栏目目录/aid_*.html
.
rm -rf /path/to/dedecms/html/your-column-folder-name/*.html
If you prefer graphic interface management or想进一步验证后来啊,可借助dedecms自带的“批量管理”模块,但该功能对大量数据处理有限制,而且不会自动清理附加表和静态页面需要手动配合施行上述SQL与文件清理流程。
情景说明:
SELECT id, typename FROM dedearctype WHERE typename LIKE '%新闻%'; -- 得到typeid=5
DELETE a,b FROM dedearchives AS a LEFT JOIN dedeaddonarticle AS b ON a.aid=b.aid WHERE a.typeid=5;
SELECT COUNT FROM dedearchives WHERE typeid=5;, 应返回0表示已全部删完。
rm -rf /var/www/html/news/*html;
Demand feedback