n1ro°
RU

Ошибки · Решение

MySQL error 1062: Duplicate entry

INSERT/UPDATE создаёт ключ, который уже существует в уникальном индексе.

Редакция N1RO · Проверено

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

MySQL 1062 означает попытку записать duplicate entry для PRIMARY или UNIQUE key. Сверьте код с официальной поддержкой производителя и выполните только безопасные шаги.

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

INSERT/UPDATE создаёт ключ, который уже существует в уникальном индексе.

Возможные причины

  • Повторная отправка одного и того же create-request.
  • Генератор ID выдал уже существующее значение.
  • Параллельные транзакции одновременно пытаются создать один business key.

Что проверить

  • Прочитайте duplicate value и key name из сообщения 1062.
  • Проверьте индекс через `SHOW INDEX` и найдите существующую строку.
  • Сопоставьте ошибку с idempotency/retry логикой приложения.

Безопасные шаги

  1. Сделайте операцию идемпотентной, если повторный запрос является штатным.
  2. Для upsert используйте подходящую MySQL-конструкцию только с понятной семантикой обновления.
  3. Не удаляйте UNIQUE index, если он защищает реальное бизнес-ограничение.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если 1062 возникает у supposedly unique генератора идентификаторов, остановите массовые повторы и проверьте алгоритм/sequence источника ключей.

Похожие ошибки

  • /errors/mysql-error-1005-cant-create-table/
  • /errors/mysql-error-1040-con-count-error/
  • /errors/mysql-error-1048-bad-null-error/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.