转换BBSXP 2008到Discuz X1.5部分问题解决记录

客户最初使用的是BBSXP 2008 sp2版本的,近期Discuz X1.5的推出后,客户因为觉得界面漂亮,再加上网上很多社区都是使用的PHP论坛,所以想把现有的BBSXP转换成DiscuzX1.5

通过网上查找转换代码,只有2007转discuz7.2uc的,不过还好有朋友自已提供了一个2008的转换代码(感谢这位朋友)

通过转换后社区列表能查看到原有的内容,但出现脚本错误,到后台修改基本设置,清空缓存,重新统计,解决此问题

但又出现发布贴子时报MySQL Query错误

查询语句错误 [1062]
错误信息: Duplicate entry '42' for key 1
SQL: INSERT INTO forum_post SET `fid`='2',`tid`='2',`first`='0',`author`='XXXX',...... attachment`='0',`pid`='42'
在网上查找解决方法,但都不起作用,这些方法都是查看数据表结构,设置主键基值,再到后台更新缓存和重新统计

pid值在forum_post数据表中是唯一的,也是主键,自动编号,基值为3513(pid目前最大值为3512)

于跟踪错误信息中的程序信息,找到pid值是从 pre_forum_post_tableid 表中取出 ;其中的值远远小说3512,只有几行记录;添加新行,并设置值为3152,更新后,测试发布贴子,恢复正常

XConvert.rar

不过需要下载XConvert的原包,再用这个包里的文件覆盖

原包

上次原包传错了,现在已更新

原文地址:https://www.cnblogs.com/dreamcat/p/bbsxp_discuz_duplicate_entry.html