首页
站长论坛BBS
救助
投稿
discuz视频教程
discuz技术支持
版块
登录
快速注册

【Discuz-X】各种协助管理的批量mysql语句

ARCHY 2015-5-24 [Discuz开发] 来自PC 复制链接
13268
discuz使用视频教程
31idc

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
有时候论坛里面需要把所有主题的回复内容全部删除,但是不能删除群组的,觉得这个sql可能有用,先记录下来分享给需要的童鞋吧,此贴非常给力值得收藏!集合很多的批量操作和因批量误操作的挽救措施!

注意注意:以下sql语句虽然经过了测试,但是也不排除其他因素,所以还是记得要作好数据备份,错了好恢复

删除除群组外论坛版块内所有的回复内容(包括投票、悬赏、商品等等的特殊主题):

  1. DELETE a FROM pre_forum_post a ,pre_forum_forum b WHERE a.first='0' AND a.fid=b.fid AND b.status=1
复制代码


删除指定版块内所有的回复内容(包括投票、悬赏、商品等等的特殊主题):

  1. DELETE  FROM pre_forum_post  WHERE first='0' AND fid=123
复制代码


语句当中的123改为自己的版块id

如果要指定删除多个版块的(包括投票、悬赏、商品等等的特殊主题):

  1. DELETE  FROM pre_forum_post  WHERE first='0' AND fid IN (1,2,3,4)
复制代码

1,2,3,4即版块ID一个逗号一个最后不能加逗号!!!


删除除群组内所有的回复内容(包括投票、悬赏、商品等等的特殊主题):
  1. DELETE a FROM pre_forum_post a ,pre_forum_forum b WHERE a.first='0' AND a.fid=b.fid AND b.status=3
复制代码



删除指定用户在指定版块里面的回复(很多站长需要的)
  1. DELETE  FROM pre_forum_post  WHERE first='0' AND fid=123 AND authorid=xxx
复制代码


123为版块ID ,xxx为用户的uid

将指定用户在指定版块里面的主题更新为删除状态(只是更新为删除状态并非直接删除数据库的数据)

  1. UPDATE pre_forum_thread SET displayorder = '-1' WHERE fid=123 AND authorid=xxx
复制代码

123为版块ID ,xxx为用户的uid


将指定用户在指定版块里面的主题更新为正常状态(解决因为批量误删的挽救)

  1. UPDATE pre_forum_thread SET displayorder = '0' WHERE fid=123 AND authorid=xxx
复制代码

123为版块ID ,xxx为用户的uid


将禁止访问用户组的帖子全部更新为删除状态(甩回收站里)
帖子标题全是发贴机/垃圾广告,虽然禁止了用户组不显示内容,但是能看标题。给出一个sql语句将这些禁止的用户组主题全部甩回收站,让他连AD标题的份都没!以ARCHY的名义干掉这些个垃圾!!

  1. UPDATE pre_forum_thread a ,pre_common_member b SET a.displayorder = '-1' WHERE a.authorid=b.uid AND b.groupid=5
复制代码

groupid=4 禁止发言组 groupid=5 禁止访问组  groupid=6禁止IP组



上一篇:Discuz! 全局变量 $_G 详解
下一篇:借Discuz-X开发者工具【debug】提高模板的执行效率
ntzxkj 发表于 2015-5-27 10:03:29 来自PC
高手真是难得给力的帖子啊。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表