admin 发表于 2020-8-22 12:56:41

discuz x 3.4 用户表 主表 存档表 数据合并教程!

1,登录后台,工具,计划任务,取消勾选 每日用户表优化

2,关闭站点,备份数据库,如果可以,全站备份更好

3,不要手贱去点 后台,站长,用户表优化

4,打开你的MYSQL管理工具,比如 phpMyAdmin

几个受影响需要更改的表

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

5,看一下上面数据库中的几个表,受影响了几个,受影响的都要修改


打开pre_common_member_archive

删除重复内容

ALTER IGNORE TABLE pre_common_member_archive ADD UNIQUE INDEX(`uid`)

把 pre_common_member_archive 内容复制到 pre_common_member

insert into pre_common_member select * from pre_common_member_archive

再删除主表重复内容,清空存档表内容


上面做完基本就没事了,有强迫症的可以删除带有Archive的空表,备份的bak表都可以删除

删除带有Archive的空表,更新缓存的时候出现这个错误,而且注册不了(在注册的最后一步会出现不跳转的情况)

(1146) Table 'db_web411070.common_member_archive' doesn't existSELECT COUNT(*) FROM common_member_archive

在站长—数据库—升级(Discuz! 数据库升级 - 请将数据库升级语句粘贴在下面:)中执行语句

为了数据安全执行该语句前建议备份数据



DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit';


大功告成

TyCoding 发表于 2020-8-22 12:56:53

如果有文件执行就好了,改数据库不太懂{:2_25:}

独家记忆 发表于 2020-8-22 12:57:29

果断MARK,前十有我必火!

Crystαl 发表于 2020-8-22 12:58:05

可以跟旧论坛的表合并吗

TyCoding 发表于 2020-8-22 12:58:21

同一discuz x 3.4程序版本才可合并
页: [1]
查看完整版本: discuz x 3.4 用户表 主表 存档表 数据合并教程!

创宇盾启航版免费网站防御网站加速服务