Ошибка phpmyadmin "# 1062 - Дублирующая запись '1' для ключа 1" - PullRequest
3 голосов
/ 19 июля 2010

Я удалил все таблицы из базы данных, а затем восстановил (импортировал) резервную копию. После этого я получаю error #1062 - Duplicate entry '1' for key 1.

Должен ли я повторить процесс. Или что-то другое? Почему эта ошибка идет?

Ответы [ 4 ]

7 голосов
/ 28 августа 2013

Когда вы экспортируете свой sql из php admin

enter image description here

Выберите «пользовательский» в качестве метода экспорта «

enter image description here

затем вместо «вставки» выберите «обновить»

Это выполнит операторы обновления и предотвратит дублирование вставок.

5 голосов
/ 19 июля 2010

Это означает, что у вас есть УНИКАЛЬНЫЙ или ПЕРВИЧНЫЙ индекс в таблице, и в одном из значений, которые будут вставлены в один из этих индексов, есть дублирующее значение.

Вам нужно посмотреть, какая именно операция вызвала эту ошибку, чтобы выяснить, какую таблицу и какую строку она пыталась записать. Надеюсь, phpMyAdmin должен сообщить вам, какой ряд данных вызвал проблему, не так ли?

Можно предположить, что вы импортируете данные, которые дублируют некоторые данные, уже находящиеся в таблице, т.е. вы, возможно, не удалили существующие данные, как вы думали. Но это может быть любое количество вещей.

1 голос
/ 31 марта 2013

Судя по звуку, в дампе есть дублирующаяся запись внутри запросов, которые он удерживает.

Хотя этого не должно было случиться, это случилось со мной в прошлом.Чтобы решить эту проблему, я бы посоветовал два варианта:

  1. Вручную удалить ADD UNIQUE INDEX и / или PRIMARY KEY в начале каждого дампа таблицы.Затем создайте ту же таблицу структуры, добавьте отсутствующий индекс и INSERT IGNORE INTO new_tbl (SELECT * FROM tbl)
  2. Добавление INSERT IGNORE для оператора вставки в журнале
0 голосов
/ 19 августа 2013

Чтобы исправить это, когда вы хотите экспортировать БД, вы можете попробовать снять флажок «Не использовать AUTO_INCREMENT для нулевых значений» в разделе «Параметры, специфичные для формата:», см. Изображение ниже:

enter image description here

...