MySQL и MariaDB LinuxWindowsmacOS 1062

MySQL: ERROR 1062 — Duplicate entry for key

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Вставка нарушает уникальный ключ. Проверьте дубликаты, используйте INSERT IGNORE или ON DUPLICATE KEY UPDATE.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

1062
Duplicate entry

Вставка нарушает уникальный ключ. Проверьте дубликаты, используйте INSERT IGNORE или ON DUPLICATE KEY UPDATE.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
ДубликатВ случае «MySQL: ERROR 1062 — Duplicate entry for key» проверьте наличие причины «Дубликат» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Проверьте. Конкретное действие зависит от проверки причины «Дубликат», описанной в пошаговой инструкции.
АвтоинкрементВ случае «MySQL: ERROR 1062 — Duplicate entry for key» проверьте наличие причины «Автоинкремент» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Сбросьте
Повторная отправкаСообщение о запрете доступа возникает у конкретной учётной записи; сравните её права и права нужного файла, функции либо сетевого ресурса.Проверьте доступ нужной учётной записи и задайте только необходимые разрешения; не отключайте защиту всей системы.
ИмпортВ случае «MySQL: ERROR 1062 — Duplicate entry for key» проверьте наличие причины «Импорт» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Очистите. Конкретное действие зависит от проверки причины «Импорт», описанной в пошаговой инструкции.

#Пошаговое решение

  1. Определите причинуВ клиенте MySQL или phpMyAdmin откройте текст ERROR 1062: Duplicate entry ... for key ..., запишите значение и имя уникального индекса. Посмотрите структуру таблицы через SHOW INDEX FROM имя_таблицы; и найдите колонку или состав ключа. Не удаляйте строку просто потому, что она мешает вставке.
  2. Выполните подходящее исправлениеВ безопасном SELECT найдите существующую запись по уникальному значению и решите, что корректно по логике приложения: обновить запись, пропустить повтор или отклонить запрос. Для повторяемого импорта может подойти INSERT ... ON DUPLICATE KEY UPDATE, если действие согласовано; перед массовым изменением сделайте дамп.
  3. Проверьте другие возможные причиныЕсли ключ составной, проверьте все его компоненты, нормализацию регистра и пустых значений. Для AUTO_INCREMENT посмотрите фактический максимальный идентификатор и значение счётчика, но не меняйте его вслепую. Дубли могут возникать из-за параллельной записи, а не ошибочного SQL.
  4. Убедитесь в результатеСначала воспроизведите запрос на тестовой базе и убедитесь, что нужная строка вставляется или корректно обновляется без потери существующих данных. Затем повторите на рабочей системе с обычным числом параллельных запросов; отсутствие 1062 недостаточно, если приложение теперь пропускает важные записи.

#Если проблема осталась

Если «MySQL: ERROR 1062 — Duplicate entry for key» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.