麦创网

Discuz x3.4用户表主表 存档表合并教程

已有 521 次阅读21/4/9 19:58 |个人分类:Discuz| 存档表合并, 用户表

Discuz曾经有些旧版本出了一个功能:用户表优化,执行了用户优化,用户表就分成了两个,一个主表,一个存档表。一些不活跃的会员自动进入了存档表,再次登陆时登陆不了,或者登陆需要激活之类,注册不跳转,DZ论坛用户数量与Ucenter用户总数不一致致,总之很鸡肋的功能。还会导致更新缓存后可能出现:Discuz提示错误Discuz! Database Error (1146)Table ‘XXX.common_member_archive’ doesn’t exist #### 如何判断是否需要合并用户表主表存档表: 登陆DZ后台,点击用户,如果如下图,用户名出现下拉框,有存档表选项,代表曾经执行过用户表优化,需要合并。![](http://www.memacx.com/uploads/blog/202104/09/20210409075235_16201.jpg) #### 取消用户表定期优化功能 登陆Discuz X3.4 或者3.5后台: 进入菜单:“工具”--“计划任务”列表里的:每日用户表优化。取消可用勾选,提交。 #### 合并存档表里面的用户到 主表 操作前,我们最好关闭站点,备份全站数据库。避免操作失误导致数据出问题。 然后我们登陆到phpMyAdmin管理工具,进入对应的数据库, 执行SQL语句, 注意默认的DZ数据表前缀是pre,如果你修改了自定义的表前缀,需要把修改成自己的。 删除存档表内重复的UID,建立唯一性 ```sql ALTER IGNORE TABLE pre_common_member_archive ADD UNIQUE INDEX(`uid`) ``` 将存档表内的用户数据还原到 主表里面: ```sql insert into pre_common_member select * from pre_common_member_archive ``` 删除主表内重复的UID,建立唯一性: ```sql ALTER IGNORE TABLE pre_common_member ADD UNIQUE INDEX(`uid`) ``` 重复上面的动作,因为相关的表一共六对。 相关的表:前面是主表,带_archive的是对应的存档表。 pre_common_member pre_common_member_archive pre_common_member_count pre_common_member_count_archive pre_common_member_field_forum pre_common_member_field_forum_archive pre_common_member_field_home pre_common_member_field_home_archive pre_common_member_profile pre_common_member_profile_archive pre_common_member_status pre_common_member_status_archive 将存档表里面的用户数据一一还原到主表里面后,带_archive的存档表就可以删除呢。 ```sql DROP TABLE `pre_common_member_archive` , `pre_common_member_count_archive` , `pre_common_member_field_forum_archive` , `pre_common_member_field_home_archive` , `pre_common_member_profile_archive` , `pre_common_member_status_archive` ; ``` 最后一步,执行SQL语句: ```sql DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit'; ``` 到这一步合并完成,记得更新缓存。 #### 搬家重装更新缓存后找不到存档表 另外如果优化过用户表,搬家、重装,或者更新缓存后可能出现以下错误: Discuz提示错误 (1146)Table ‘common_member_archive’ doesn’t exist 这是因为数据库里面找不到存档表,修复方法: ```sql DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit'; ``` 这只是直接不管存档表,最好还是按上面完整的操作。 注意把表前缀pre修改成你自己的,如果默认pre无需修改。

发表评论 评论 (1 个评论)

回复 admin 21/4/17 13:03
Discuz用户表主表 存档表合并教程

facelist

您需要登录后才可以评论 登录 | 注册

麦创网 ( 苏ICP备13053101号-1 )

@麦创网 禁止任何未经允许的修改,传播或使用。

Powered by Discuz!

©2012 @ iMac.vip. 用户言论不代表本站立场。

返回顶部