phpmyadmin错误“#1062 - 密钥1的重复条目'1'

时间:2010-07-19 04:33:55

标签: php mysql database phpmyadmin mysql-error-1062

我从数据库中删除了所有表,然后恢复(导入)备份。之后我得到error #1062 - Duplicate entry '1' for key 1

我应该重复这个过程吗?或者是其他东西?为什么会出现这个错误?

4 个答案:

答案 0 :(得分:7)

从php admin导出sql时

enter image description here

选择“自定义”作为导出方法“

enter image description here

然后,选择“更新”

,而不是“插入”

这将执行update-statements并防止重复插入。

答案 1 :(得分:5)

这表示您在表上有一个UNIQUE或PRIMARY索引,并且其中一个值将有一个重复值插入到其中一个索引中。

您需要查看导致此错误的特定操作,以找出它尝试写入哪个表和哪一行。希望phpMyAdmin 应该告诉你哪一行数据导致了这个问题,不应该吗?

有一种猜测是,您正在导入复制表中已有数据的数据,即您可能没有像您认为的那样删除现有数据。但它可以是任何数量的东西。

答案 2 :(得分:1)

如果声音如此,转储在其拥有的查询中有一个重复的条目。

虽然这不应该发生,但过去发生在我身上。 为了解决这个问题,我建议两个选择:

  1. 在每个表转储开始时手动删除ADD UNIQUE INDEX和/或PRIMARY KEY。然后创建一个相同的结构表,添加缺少的索引,并INSERT IGNORE INTO new_tbl (SELECT * FROM tbl)
  2. 在日志
  3. 中为insert语句添加INSERT IGNORE

答案 3 :(得分:-1)

要解决此问题,当您要导出数据库时,您可以尝试在“格式特定选项:”下取消选中“不要将AUTO_INCREMENT用于零值”,请参见下图:

enter image description here