allthebest 發表於 2020-5-19 19:59:49

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

<br /><br />1,登录后台,工具,计划任务,<font color="#ff0000">取消勾选</font><font color="#444444"> 每日用户表优化</font><br /><br />2,关闭站点,<font color="#ff0000">备份数据库</font><font color="#444444">,如果可以,全站备份更好</font><br /><br />3,不要手贱去点 后台,站长,用户表优化<br /><br />4,打开你的MYSQL管理工具,比如 phpMyAdmin<br /><br /><font color="#444444">几个受影响需要更改的表</font><br /><br /><ol><li>pre_common_member<br /><li>pre_common_member_archive<br /><li><br /><li>pre_common_member_count<br /><li>pre_common_member_count_archive<br /><li><br /><li><br /><li>pre_common_member_field_forum<br /><li>pre_common_member_field_forum_archive<br /><li><br /><li><br /><li>pre_common_member_field_home<br /><li>pre_common_member_field_home_archive<br /><li><br /><li>pre_common_member_profile<br /><li>pre_common_member_profile_archive<br /><li><br /><li>pre_common_member_status<br /><li>pre_common_member_status_archive</ol><br /><br />5,看一下上面数据库中的几个表,受影响了几个,受影响的都要修改<br /><br /><br />打开&nbsp;&nbsp;pre_common_member_archive<br /><br />删除重复内容<br /><br /><ol><li>ALTER IGNORE TABLE pre_common_member_archive ADD UNIQUE INDEX(`uid`)</ol><br /><br />把 pre_common_member_archive 内容复制到 pre_common_member<br /><br /><ol><li>insert into pre_common_member select * from pre_common_member_archive</ol><br /><br />再删除主表重复内容,清空存档表内容<br /><br /><br />上面做完基本就没事了,有强迫症的可以删除带有Archive的空表,备份的bak表都可以删除<br /><br />删除带有Archive的空表,更新缓存的时候出现这个错误,而且注册不了(在注册的最后一步会出现不跳转的情况)<br /><br /><ol><li>(1146) Table 'db_web411070.common_member_archive' doesn't existSELECT COUNT(*) FROM common_member_archive</ol><br /><br />在站长—数据库—升级(Discuz! 数据库升级 - 请将数据库升级语句粘贴在下面:)中执行语句 <br /><br /><font face="微软雅黑"><font color="#444444"><font style="background-color:rgb(255, 255, 255)"><font style="font-size:16px"><font size="4"><font color="#ff0000"><strong>为了数据安全执行该语句前建议备份数据</strong></font></font></font></font></font></font><br /><strong><font face="微软雅黑"><font size="4"><font color="#ff0000"><br /></font></font></font></strong><br /><br /><ol><li>DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit';</ol><br /><br />后台,站长,数据库,升级<br /><br /><ol><li>insert into pre_common_member select * from pre_common_member_archive;<br /><li>insert into pre_common_member_count select * from pre_common_member_count_archive;<br /><li>insert into pre_common_member_field_forum select * from pre_common_member_field_forum_archive;<br /><li>insert into pre_common_member_field_home select * from pre_common_member_field_home_archive;<br /><li>insert into pre_common_member_profile select * from pre_common_member_profile_archive;<br /><li>insert into pre_common_member_status select * from pre_common_member_status_archive;</ol><br /><br /><br />以上六条的意思就是把六个存档表中的东西合并到主表中。<br /><br />然后再使用如下升级数据库:<br /><br /><ol><li>TRUNCATE TABLE&nbsp;&nbsp;`pre_common_member_archive`;<br /><li>TRUNCATE TABLE&nbsp;&nbsp;`pre_common_member_count_archive`;<br /><li>TRUNCATE TABLE&nbsp;&nbsp;`pre_common_member_field_forum_archive`;<br /><li>TRUNCATE TABLE&nbsp;&nbsp;`pre_common_member_field_home_archive`;<br /><li>TRUNCATE TABLE&nbsp;&nbsp;`pre_common_member_profile_archive`;<br /><li>TRUNCATE TABLE&nbsp;&nbsp;`pre_common_member_status_archive`;</ol><br /><br /><br />以上六条的意思就是把六个存档表数据全部清空。<br />用户<em>, </em>后台<em>, </em>优化

gduew 發表於 2020-5-20 10:28:10

如果有文件执行就好了,改数据库不太懂

pcinstall 發表於 2020-5-21 11:16:44

果断MARK,前十有我必火!

xiaojie83 發表於 2020-8-21 20:55:29

可以跟旧论坛的表合并吗

allthebest 發表於 2020-8-22 04:15:14

<br />同一discuz x 3.4程序版本才可合并

xiaojie83 發表於 2020-8-22 16:53:08

<br />都是3.4版本的

allthebest 發表於 2020-8-22 17:19:37

<br />这方法只适用于一个discuz x 3.4 用户表 主表 存档表 数据合并,不支持两个discuz x 3.4论坛用户表 主表 存档表合并。

小景 發表於 2021-10-21 12:14:11

楼主你好,我的情况就是你说的 手贱 点了后台的站长&nbsp;&nbsp;用户数据表优化,可否有偿帮忙解决一下,我的VX:jingjianchun&nbsp;&nbsp;加我一下

allthebest 發表於 2021-10-21 18:12:58

<br />关闭用户数据表优化,更新缓存,即可。

驽鸟 發表於 2024-3-31 23:29:40

X3.5一样吗?能出个3.5的教程吗?
頁: [1]
查看完整版本: discuz x 3.4 用户表 主表 存档表 数据合并教程!