奇迹保留玩家数据更换数据库
保留玩家数据更换数据库
备份97数据库,一定要选择重写现有媒体。备份好了以后删除数据库,另建一个随意名字的数据库,把97数据库还原其下,这里要注意:建立一个文件夹,还原的时候要把选项里面的还原为改为你建立的文件夹的路径!这里我是在D盘建立的名为'老数据库'的文件夹
图1
然后重新建立MuOnline数据库,把你的新数据库(99的)还原其下(都知道怎么还原这里我就不说了)
接下来首先保证你数据库的7个表accountcharacter、character、guild、guildmember、memb_info、vi_curr_info、warehouse 和99B+数据库的列名一样(可以用右键——设计表察看,少的可以添加,一定保证老97数据库有的列名99数据库也有。这点很重要!),然后
图2 dedecms.com
选择原来的那个97数据库,选择所有任务——导出数据,
图3 dedecms.com
接下来不要动,直接点下一步然后选择要倒入的数据库
图4
(也就是现在的MuOnline),什么都别动,继续下一步
图5
再选择accountcharacter、character、guild、guildmember、memb_info、vi_curr_info、warehouse 这7个表,
图6
然后下一步
图7
下一步
图8
确定就ok了。前提是要保证你的仓库表,也就是warehouse这个表不能有重复信息,有的话要删除,办法见下文:
在查询分析器里对muonline数据库*作,输入以下SQL运行脚本
1、备份warehouse数据表
select * into warehousebak from warehouse
2、删掉仓库是空的记录
delete from warehouse where items is null
3、导出不重复数据。
select distinct * into warehousetmp from warehouse
这里注意了,虽然这里使用了distinct参数,但是生成的warehousetmp临时表中依然会有重复的数据,主要就是ITEMS这个字段不同了,我们再用下面的命令查询
select accountid from warehousetmp group by accountid having count(*)>1
4、清空warehouse
truncate table warehouse
5、把非重复数据导回
insert into warehouse select * from warehousetmp
第5步*作如果报错,那就是你导出的warehousetmp数据中依样有重复数据,重复前面的检查步骤。如果没有报错,那就ok了,可以用前面的办法把你的7个表导入到新数据库去了。
补充一下,99数据库主键该有的都有了,所以导入这7个表的时候不能有主健的重复数值,否则导入失败,可以用上面的命令修改为有重复数值表的脚本命令,执行数据。前提:一定要备份好原数据库,而且要复制一个到别处。备份的时候记得要选择重写现有媒体,都弄好了以后仔细检查,确定数据无遗漏后备份弄好的99数据库,切记,不然追悔莫及!!!!