找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
查看: 5581|回复: 2

[经验] Discuz! X2 批量修改会员用户组为另一用户组的方法

[复制链接]

9333

威望

818

金钱

1万

贡献

管理员

自由的灵魂

积分
100458
主题
5590
回帖
26310
注册时间
2003-4-10
最后登录
2024-11-21
发表于 2011-8-16 17:19:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
公式:
  1. UPDATE 存放会员数据的表 SET 存放会员组别的字段 = REPLACE (存放会员组别的字段, '准备修改的会员组级别ID', '修改后的会员组级别ID');
复制代码


示例:
  1. UPDATE pre_common_member SET groupid = REPLACE (groupid, '8', '10');

复制代码

上面这句意思是:批量将“等待验证会员”替换成“新手上路”级别。


实际应用:

为了防范垃圾帐户,点拨论坛要求刚刚注册的新会员必须在24小时内完成新手专用任务,逾期则删除其账号,但是后来发现,同样的垃圾账号会再次注册进来,令人十分郁闷。单凭手工搜索此类帐户来删除肯定是低效的,所以就想通过一串SQL代码将“未完成新手任务”用户组的帐户批量添加到“禁止访问”用户组。在Discuz官方论坛咨询了一下,成功解决了这个问题。代码如下:

  1. UPDATE pre_common_member SET groupid = REPLACE (groupid, '9', '5') WHERE regdate < ( unix_timestamp( now( ) ) -86400 );
复制代码
其中 WHERE regdate < ( unix_timestamp( now( ) ) -86400 ); 这段代码定义了从当前时间往前推24小时的时间。



IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。

0

威望

148

金钱

0

贡献

新手上路

积分
149
主题
1
回帖
6
注册时间
2011-6-17
最后登录
2012-3-19
发表于 2011-8-17 09:33:59 | 显示全部楼层
站长,论坛设置的功能你单独保存就好了,没必要在论坛公开吧!
回复

使用道具 举报

9333

威望

818

金钱

1万

贡献

管理员

自由的灵魂

积分
100458
主题
5590
回帖
26310
注册时间
2003-4-10
最后登录
2024-11-21
 楼主| 发表于 2011-8-17 09:48:35 | 显示全部楼层

点拨论坛是IsaacZ与大家分享自己学习心得的地方,之所以将这些设置也发布出来,是希望更多的站长能借鉴我的经验,共同维护良好的网络环境。
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛 |网站地图

GMT+8, 2024-11-21 23:09 , Processed in 0.154513 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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