旧论坛有四个版块,fid(就是版块号,鼠标放到论坛首页各个版块的文字上面就可以在状态栏看到版块号了,12345之类)分别是2,1,4,3。既然是合并嘛,肯定合到新论坛的相应版块去,不过新论坛各个版块的fid经常和旧的不同,没关系,不同改成相同就好。
新论坛对应的四个版块为5,2,4,3,那就把2换成5,1换成2,3换成4,4换成3。
因为转换的过程中可能出现冲突,比如3换4,4换3,干脆麻烦一点,2先换成15,1先换成12,3先换成14,4先换成13
在旧论坛里运行一下SQL:
Update cdb_threads SET fid=15 Where fid=2;
Update cdb_posts SET fid=15 Where fid=2;
Update cdb_threads SET fid=12 Where fid=1;
Update cdb_posts SET fid=12 Where fid=1;
Update cdb_threads SET fid=14 Where fid=3;
Update cdb_posts SET fid=14 Where fid=3;
Update cdb_threads SET fid=13 Where fid=4;
Update cdb_posts SET fid=13 Where fid=4;
接着把15,12,14,13的再换回5,2,4,3
在旧论坛里运行一下SQL:
Update cdb_threads SET fid=5 Where fid=15;
Update cdb_posts SET fid=5 Where fid=15;
Update cdb_threads SET fid=2 Where fid=12;
Update cdb_posts SET fid=2 Where fid=12;
Update cdb_threads SET fid=4 Where fid=14;
Update cdb_posts SET fid=4 Where fid=14;
Update cdb_threads SET fid=3 Where fid=13;
Update cdb_posts SET fid=3 Where fid=13;
好了,现在版块的问题解决了。
第2步.
修改tid和pid。
tid是什么?主题编号,pid呢?帖子编号。看看新论坛的首页——好家伙“共 8920 篇主题 / 107798 篇帖子”
那目前最大的tid就是8920,pid是107798
我们要做的就是把旧论坛最小的tid,pid变得比新论坛最大的还大,呵呵,加法我会!
在旧论坛里运行一下SQL
Update cdb_threads SET tid=tid+10000;
Update cdb_posts SET tid=tid+10000;
Update cdb_posts SET pid=pid+200000;
其中10000和200000是我自己设的,当然你也可以改成8920和107798,我觉得大一点保险。
好,每个帖子的编号就都搞定了,下面是作者。
第3步.
因为没打算把旧论坛的用户合并到新论坛,所以合并后点击作者名会出现错误,怎么半?把作者的编号统统改为一个!当然作者的姓名没改,帖子里依然正常显示,只不过点击的时候统一跳到你设置的那个用户头上。
先在新论坛里找个ID,我弄的是3,名字就叫老用户,再专门给他列个用户组,加个色,好和别人区别开来。
接着在旧论坛里运行一下SQL:
Update cdb_threads set authorid=3;
Update cdb_posts set authorid=3;
呵呵,所有的作者ID都变成3了。
至此,旧论坛的数据都改好了,反正大家根据自己的实际版块号写一写就行,下面是数据的导入导出,真正的合并了!
第4步.