#1062 - Duplicate entry '1' for key 1错误.解决方法
折腾了几天,终于把错误揪出来了
将论坛由dvbbs+access转为了discuz。在理想空间购入的空间(顺便说一下,空间真的很不错 )。在买到空间之前,我将access数据转为了GBK编码的mysql数据。后来在理想空间买到以后,去数据库里转了转,发现是utf-8编码的。只好尝试再次将access转为utf-8。-----------------其实这里是走了弯路。GBK导入理想空间的数据库是完全没有问题的。这也是后来才发现。而且GBK编码对数据库的占用空间比utf-8小,推荐这个。
将本地mysql备份数据导入服务器mysql,错误来了。使用discuz提供的导入工具,总是在第24分卷出现:
---------------------------------分割线------------------------
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1, 4
---------------------------------分割线-------------------------------
等等的提示。
尝试使用phpmyadmin直接导入,同样出现:
-----------------------------------分割线---------------------------------
SQL 查询:
# --------------------------------------------------------
INSERT INTO cdb_posts
VALUES (
'34001', '6', '4646', '0', 'ncxeon', '4044', '', '1153666494', 'ff', '220.175.118.77', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0'
);
MySQL 返回:文档
#1062 - Duplicate entry '34001' for key 1
----------------------------------------分割线----------------------------------
由上一个提示,我推测是mysql版本差太多。但是查询一下,服务器是5.0.45-community的,而我本地是5.0.45a-de4,相差不多。排除该错误。
下一个提示实在看不懂。最后尝试出来的解决方法是:删除mysql备份的第24卷(发生错误的那个)的提示字段。导入成功。
P.S. 备份sql文件一般都是2M以上,不要用记事本打开,要用editplus之类的编辑工具打开。
很多过程因为没想过写下来,所以就没保存什么的。不好意思。
大致方法就是这样。 |