2601: Невозможно вставить строку с дублирующимся ключом в объект с уникальным индексом. Дублирующееся значение ключа: ...
SQL ServerЧто это значит?
UNIQUE INDEX отклонил строку из-за дублирующегося значения ключа. 2627 возникает для ограничений, 2601 — для уникальных индексов.
Почему возникает?
Повторная запись существующего значения в столбец (столбцы), защищённые UNIQUE INDEX, параллельные вставки или коллизия строк, охватываемых фильтруемым уникальным индексом.
Как исправить
Удалите или измените дублирующееся значение. Если дубликаты необходимо допускать, рассмотрите параметр IGNORE_DUP_KEY = ON (дубликаты молча пропускаются). Добавьте проверку NOT EXISTS перед вставкой. Если есть фильтруемый индекс, проверьте его предложение WHERE и коллизию.
Ещё по этой СУБД
- 1205Транзакция (Process ID) оказалась во взаимоблокировке с другим процессом за ресурсы блокировки и выбрана жертвой взаимоблокировки
- 2627Нарушение ограничения PRIMARY KEY / UNIQUE KEY. Невозможно вставить дублирующийся ключ в объект
- 547Оператор INSERT/UPDATE/DELETE конфликтует с ограничением FOREIGN KEY / CHECK
- 18456Ошибка входа для пользователя (Login failed)
- 8152Строковые или двоичные данные были бы усечены
- 2628Строковые или двоичные данные были бы усечены в таблице, столбце ...; усекаемое значение