湖中沉 发表于 2011-7-10 09:40:06

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

适应版本:Discuz-X1 Discuz-X1.5 今天一位朋友需要将论坛里面所有主题的回复内容全部删除,但是不能删除群组的,觉得这个sql可能有用,先记录下来分享给需要的童鞋吧,此贴非常给力值得收藏!集合很多的批量操作和因批量误操作的挽救措施!
今天一位朋友需要将论坛里面所有主题的回复内容全部删除,但是不能删除群组的,觉得这个sql可能有用,先记录下来分享给需要的童鞋吧,此贴非常给力值得收藏!集合很多的批量操作和因批量误操作的挽救措施!
欢迎各位童鞋发现问题及时回帖,以免错误的地方误导大家

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

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

删除指定版块内所有的回复内容(包括投票、悬赏、商品等等的特殊主题):DELETEFROM pre_forum_postWHERE first='0' AND fid=123语句当中的123改为自己的版块id! M; E% Q9 P( B
$ u4 j% i( n) a
如果要指定删除多个版块的(包括投票、悬赏、商品等等的特殊主题):DELETEFROM pre_forum_postWHERE first='0' AND fid IN (1,2,3,4)1,2,3,4即版块ID一个逗号一个最后不能加逗号!!!


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

删除指定用户在指定版块里面的回复(很多站长需要的)
DELETEFROM pre_forum_postWHERE first='0' AND fid=123 AND authorid=xxx123为版块ID ,xxx为用户的uid
' S7 kxd3 n' K5 R. s- _
0 Z4 C) x& w5 x|) I% U' }
将指定用户在指定版块里面的主题更新为删除状态(只是更新为删除状态并非直接删除数据库的数据)" l+ m9 V9 c$ u7 `$ q/ k, Q( i

UPDATE pre_forum_thread SET displayorder = '-1' WHERE fid=123 AND authorid=xxx123为版块ID ,xxx为用户的uid1 b; e# S5 Z) d/ [
: B3 k" `# d0 _3 D1 Z/ G

将指定用户在指定版块里面的主题更新为正常状态(解决因为批量误删的挽救)UPDATE pre_forum_thread SET displayorder = '0' WHERE fid=123 AND authorid=xxx123为版块ID ,xxx为用户的uid


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

ndiis 发表于 2011-7-10 10:54:02

支持X2不?
页: [1]
查看完整版本: 【Discuz-X】各种协助管理的批量mysql语句!