今天试着把以前做的一个discuz 7.2 的论坛升级到了Discuz X1.5 ,虽然那个论坛基本是废的,不过中间出了点问题。我是按照官方的教程转的,不过到了第4步时出现了数据表错误的提示,当时是转换到了第45个数据表,也就是论坛主题的数据表,下面是提示的内容。

MySQL Error
Message: query_error
SQL: INSERT INTO `dzx`.pre_forum_post SET `pid`='397',`fid`='12',`tid`='170',`first`='1',`author`='

.............
Error: Duplicate entry '397' for key 'PRIMARY'
Errno.: 1062
Click here to seek help.


在网上搜索了下,没有发现什么解决方法,后参考http://www.discuz.net/thread-1783962-1-1.html解决了问题,虽然他的是uchome 转换出的问题不过都是可以用一种方法的。

解决方法

1、参照SQL: INSERT INTO `dzx`.pre_forum_post SET `pid`='397',`fid`='12',`tid`='170',`first`='1',`author`= 到phpmyadmin 中找到与之对应的数据表,我的数据库里是cdb_post 这个表,只要看后面这个就行了。

2、在phpmyadmin 中把 之前找到的数据表cdb_post 中的`pid`='397' 这条数据删除,然后在转换程序中点击继续转换还是什么的,如果还有错误可以按此方法接着删除,然后再试,应该可以解决问题

当然按此方法是会丢失一点数据的,不过可以转换成功 ,如何取舍就看你自己选了,另外转换成功后到论坛里可以把之前的主题删除 ,不然会有一个标题在那,点击后会提示主题不存在

标签: Discuz7.2, DiscuzX, 转换出错, 解决