教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysqldump导库出错 Duplicate entry ” for key 1

mysqldump导库出错 Duplicate entry ” for key 1

发布时间:2023-04-30   编辑:jiaochengji.com
教程集为您提供mysqldump导库出错 Duplicate entry ” for key 1等资源,欢迎您收藏本站,我们将为您提供最新的mysqldump导库出错 Duplicate entry ” for key 1资源
Duplicate entry key 1错误是告诉我们数据有重复数据导入并且指定的字段为唯一字段了,下面我们就此问题分析一下吧,希望能帮助到各位。


mysqldump导库出错 Duplicate entry ” for key 1
这个数据库备份是用后台自带的备份程序备份的,400多M,比较大,所以没用phpmyadmin导入,进入cmd ,mysql -h localhost -u root -p 数据库名<”备份的sql文件路径”,却出错:ERROR 1062 (23000) at line 501: Duplicate entry ” for key 1,然后自动停止导入,回滚到原先状态了,我日啊!
这是什么问题引起的啊,上百度,上gg,也找不到好的解决办法,只好   mysql -h localhost -u root -p 数据库名<”备份的sql文件路径” –f 出错也会继续导入了。

上网搜到了这条,先copy下来,慢慢研究:

ERROR 1062 (23000) at line 501: Duplicate entry ” for key 1 ERROR 1062 (23000): Duplicate entry 是什???啊? mysql> INSERT INTO userinfo VALUES (‘崔江虎 ‘, ’20030481′, ’2004B_8600661_03′, ”, ”, ”, ’2004B_8600661_03′);
ERROR 1062 (23000): Duplicate entry ’20030481′ for key 1
mysql> INSERT INTO userinfo VALUES (‘唐斌 ‘, ’20023109′, ’2004B_8600661_03′, ”, ”, ”, ’2004B_8600661_03′);
ERROR 1062 (23000): Duplicate entry ’20023109′ for key 1
mysql>
Re: ERROR 1062 (23000): Duplicate entry 是什???啊?
你的userinfo的第二??field要求是unique的,而你的table?已?有了一?l??,它的第二??field的值是20023109
跟你要insert的那?l??的第二??field的值是相同的

 

网上搜索分析原因:

可能是字段pid为primary key且auto_increment属性,不能出现重复值。
而我在备份数据时,可能有数据写入破坏了数据表。


尝试了一些方法:

1、数据表部分字段属性丢失 ALTER TABLE `cdb_posts` CHANGE `pid` `pid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT
2、repair table cdb_posts
均失败!

最后的解决方法:
一般是因为数据表文件损害导致,可用MySQL的修复工具myisamchk 工具修复。
cmd
myisamchk cdb_posts.myi -r
修复数据表就OK了!

解决办法

现在附上解决办法只要把原来的老数据清空导入就可以了。

您可能感兴趣的文章:
1062 - Duplicate entry 33 for key 1
mysql报错#1062 Duplicate entry ‘2147483647’ for key ‘PRIMARY’
深入mysql “ON DUPLICATE KEY UPDATE” 语法的分析
sql实现插入数据主键重复或数据已经存在,则更新这条数据
mysql 6G数据库的导入报错的解决办法
Mysqldump和Source命令用法详解
使用mysqldump备份与还原mysql数据的实例及参数说明
从mysql控制台导入导出数据库的方法介绍
mysql存在则更新方法对比分析
mysqldump数据库备份与还原参数详解

[关闭]
~ ~