如何批量删除织梦dedecms里的垃圾留言?

总有那么一些人嗜好通过工具恶意发表垃圾留言!作为站长能说什么呢!本文介绍如何通过SQL命令快速地批量删除数百乃至上千的垃圾留言信息!

一条一条地删除留言是不科学的,这也正中了恶意发布者的意!

如果你是织梦系统搭建的网站,那么打开后台,点击“系统”——“SQL命令行工具”,可以看到系统的表信息

留言的数据表名为dede_guestbook,点击选中它,然后点击“查看表结构”按钮,可以看到类似这样的数据表信息:

  1. CREATE TABLE `dede_guestbook` (  
  2.   `id` mediumint(8) unsigned NOT NULL auto_increment,  
  3.   `title` varchar(60) NOT NULL default '',  
  4.   `tid` mediumint(8) NOT NULL default '0',  
  5.   `mid` mediumint(8) unsigned default '0',  
  6.   `posttime` int(10) unsigned NOT NULL default '0',  
  7.   `uname` varchar(30) NOT NULL default '',  
  8.   `email` varchar(50) NOT NULL default '',  
  9.   `homepage` varchar(50) NOT NULL default '',  
  10.   `qq` varchar(15) NOT NULL default '',  
  11.   `face` varchar(10) NOT NULL default '',  
  12.   `ip` varchar(20) NOT NULL default '',  
  13.   `dtime` int(10) unsigned NOT NULL default '0',  
  14.   `ischeck` smallint(6) NOT NULL default '1',  
  15.   `msg` text,  
  16.   PRIMARY KEY  (`id`),  
  17.   KEY `ischeck` (`ischeck`)  
  18. ) ENGINE=MyISAM AUTO_INCREMENT=194 DEFAULT CHARSET=utf8  

其中的关键字段:ischeck

默认是0,即未审核状态,前台不会显示该留言;1表示已审核,前台会显示该留言

我们要做的就是从这个关键字段ischeck下手,通过它来约束SQL执行语句。

首先我们可以查看系统里有没有未审核的留言,在“运行SQL命令行”下的文本域里输入以下SQL语句:

  1. select * from dede_guestbook where ischeck=0; 

如果没有未审核的留言,则显示:

 运行SQL:select * from dede_guestbook where ischeck=0,无返回记录!

 若有未审核的留言,则显示类似:

 运行SQL:select * from dede_guestbook where ischeck=1,共有3条记录,最大返回100条!

 (ps:还有字段名及对应的字段内容,此处就不展示啦!)

 

现在开始利用SQL语句执行批量删除操作注意:勿删除正常的未审核的留言哦~,我们在删除之前可以先审核掉正常的留言

  1. delete from dede_guestbook where ischeck=0; 

提示:假设dede的数据表前缀之前有修改过(为了安全嘛~),那么需要对应数据表名,否则SQL执行失败!

相关链接:织梦dedecms后台常用系统SQL命令

 

相关经验

导读书签
书签初始化中…