|
论坛升级后,数据表 pre_common_member_count 可能出错没有更新,造成在线时间被清空。
现在我需要把2013.4.6 discuz 5.5论坛的members 这个表中的oltime 值加上 pre_common_member_count 中oltime 的值,应该就可以大致解决问题了。
续:
即将执行:
1.如果现在的“在线时间”比4月6日少的,并且现在的“在线时间”<144 小时,将会把新旧两个“在线时间”相加。
2.如果现在的“在线时间”比4月6日少的,并且现在的“在线时间”>144 小时,将会把旧时间+144小时。
3.如果现在的“在线时间”比4月6日少的,维护不变(这个不用执行)
这样可以保证你的积分不少于以前的。
命令1- update pre_common_member_count,cdb_members set pre_common_member_count.oltime=pre_common_member_count.oltime+cdb_members.oltime where pre_common_member_count.uid=cdb_members.uid and pre_common_member_count.oltime < cdb_members.oltime and pre_common_member_count.oltime < 144;
复制代码 命令2- update pre_common_member_count,cdb_members set pre_common_member_count.oltime=pre_common_member_count.oltime+144 where pre_common_member_count.uid=cdb_members.uid and pre_common_member_count.oltime < cdb_members.oltime and pre_common_member_count.oltime >=144;
复制代码 经查,有可能是另外一个变量有问题,再测试- update pre_common_onlinetime,cdb_onlinetime set pre_common_onlinetime.total=pre_common_onlinetime.total+8400 where pre_common_onlinetime.uid=cdb_onlinetime.uid and pre_common_onlinetime.total < cdb_onlinetime.total and pre_common_onlinetime.total >8400;
- update pre_common_onlinetime,cdb_onlinetime set pre_common_onlinetime.total=pre_common_onlinetime.total+cdb_onlinetime.total where pre_common_onlinetime.uid=cdb_onlinetime.uid and pre_common_onlinetime.total < cdb_onlinetime.total and pre_common_onlinetime.total < 8400;
复制代码 |
|