你好,我的情况是这样的,原来的论坛用的是DV,后来因为某些原因换其他程序时只把用户都导了出来,而帖子板块都是全新的。
新论坛也运行了2年多,现在想把两个论坛的数据合成一个。新论坛和旧论坛的帖子没有重复,用户比旧论坛的用户多。都升级到DZ6.1后,数据库旧论坛是170M,新论坛是40M,无法使用你的合并工具进行合并。
合并的思路是只要导入forums、threads、posts三个表,手动导入,在phpmyadmin中分别执行如下代码:- UPDATE old_forums SET fid=fid+100
- UPDATE old_forums SET fup=fup+100
- UPDATE old_threads SET fid=fid+100
- UPDATE old_posts SET fid=fid+100
- UPDATE old_threads SET tid=tid+50000
- UPDATE old_posts SET tid=tid+50000
- UPDATE old_posts SET pid=pid+250000
- replace INTO `cdb_forums` (`fid`,`fup`,`type`,`name`,`status`,`displayorder`,`styleid`,`threads`,`posts`,`todayposts`,`lastpost`)
- SELECT `old_forums`.`fid`,`old_forums`.`fup`,`old_forums`.`type`,`old_forums`.`name`,`old_forums`.`status`,`old_forums`.`displayorder`,`old_forums`.`styleid`,`old_forums`.`threads`,`old_forums`.`posts`,`old_forums`.`todayposts`,`old_forums`.`lastpost`
- FROM `old_forums`
- replace INTO `cdb_threads` (`tid`,`fid`,`author`,`authorid`,`subject`,`dateline`,`lastposter`,`views`,`replies`)
- SELECT `old_threads`.`tid`,`old_threads`.`fid`,`old_threads`.`author`,`old_threads`.`authorid`,`old_threads`.`subject`,`old_threads`.`dateline`,`old_threads`.`lastposter`,`old_threads`.`views`,`old_threads`.`replies`
- FROM `old_threads`
- replace INTO `cdb_posts` (`pid`,`fid`,`tid`,`first`,`author`,`authorid`,`subject`,`dateline`,`message`,`useip`,`invisible`,`anonymous`,`usesig`,`htmlon`,`bbcodeoff`,`smileyoff`,`parseurloff`,`attachment`,`rate`,`ratetimes`,`status`)
- SELECT `old_posts`.`pid`,`old_posts`.`fid`,`old_posts`.`tid`,`old_posts`.`first`,`old_posts`.`author`,`old_posts`.`authorid`,`old_posts`.`subject`,`old_posts`.`dateline`,`old_posts`.`message`,`old_posts`.`useip`,`old_posts`.`invisible`,`old_posts`.`anonymous`,`old_posts`.`usesig`,`old_posts`.`htmlon`,`old_posts`.`bbcodeoff`,`old_posts`.`smileyoff`,`old_posts`.`parseurloff`,`old_posts`.`attachment`,`old_posts`.`rate`,`old_posts`.`ratetimes`,`old_posts`.`status`
- FROM `old_posts`
复制代码 新论坛的主题数只有2万多,所以给旧论坛的主题贴tid都加了50000。
合并后一切正常,但是新发部分主题会跟老帖子的ID重复,比如都是74264,导致新主题变成老帖的一个回复。重建缓存、统计数无效,我想知道是不是在我操作的过程中漏了什么,希望能给予帮助,谢谢! |