Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 分享一下x2.5的存档表和主表手动合并完整方法

[复制链接]
cooh 发表于 2014-5-4 12:47:22 | 显示全部楼层 |阅读模式
存档表不知怎么回事,非常坑爹,有部分用户的主题数积分等全部无法记录,显示空白,一年前发帖问过,但没人说具体的解决方法,https://discuz.dismall.com/thread-3357488-1-1.html,没办法只能自己摸索。首先我是参考https://discuz.dismall.com/thread-3468885-1-1.html
不过后面有一步执行出错,无法继续下去,说是表数据类型不同不能插入,所以自己找资料改了一下。

现在这个操作备份原来的主表和存档表,如果有问题可以随时改回来,因此没什么风险。


建两个临时表备用,复制主表格式
create table  pre_common_member_temp like  pre_common_member;
create table  pre_common_member_temp2 like  pre_common_member;


将主表数据插入临表一
insert into pre_common_member_temp  select * from pre_common_member;

备份存档表
create table  pre_common_member_archive_bak like  pre_common_member_archive;
insert into  pre_common_member_archive_bak select * from  pre_common_member_archive;


将存档表数据插入临表一
insert into pre_common_member_temp  select * from pre_common_member_archive;

将临表一的数据去重复排序插入临表二
insert into pre_common_member_temp2  select * from pre_common_member_temp order by uid;

主表改成bak备份,临表二改成主表名,清空存档表的数据
ALTER  TABLE pre_common_member RENAME TO pre_common_member_bak;
ALTER  TABLE pre_common_member_temp2 RENAME TO pre_common_member;
TRUNCATE TABLE  `pre_common_member_archive`;


除了这个表pre_common_member,还有pre_common_member_field_home,pre_common_member_profile,pre_common_member_status等几个带archive的,都这样合并为一个,并保留个空的archive表。

不知道这样的语法有没问题,感觉应该是最小影响的操作,再用tools重新统计积分,现在所有用户的积分和信息都正常了。但是后台的tools的检查用户信息表依然不能用,总是显示检查中由1-1001,不断循环。


popuppp 发表于 2014-5-4 18:21:21 | 显示全部楼层
  支持一下。用户分表功能有点坑爹
回复

使用道具 举报

yehui2512 发表于 2020-9-5 23:44:35 | 显示全部楼层
支持一下。用户分表功能有点坑爹
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-5 10:07 , Processed in 0.110979 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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