Ошибка вставки дубликата составного первичного ключа, несмотря на то, что сообщенное значение не существует - PullRequest
0 голосов
/ 27 марта 2020

Я получаю ошибку вставки дубликата ключа при использовании INSERT INTO для таблицы с составным первичным ключом (datetime, bigint). Хотя я не могу понять, почему, поскольку сообщаемое значение ошибки не существует ни в исходном CSV-файле, в который я BULK INSERTED, ни в таблице, в которую я вставляю измененные данные CSV. Вот что говорит ошибка:

Сообщение 2627, Уровень 14, Состояние 1, Процедура IT_Data.dbo.sp_ImportDriveAuditData, Строка 80 [Стартовая строка начала 0]
Нарушение ограничения PRIMARY KEY 'pkTimeQualifier' , Невозможно вставить дубликат ключа в объект 'dbo.DriveAuditData'. Дублированный ключ имеет значение (5 марта 2020 г., 12:00, 1192400537322090213).

Единственное значение в таблице с тем же уникальным квалификатором имеет дату и время 2020-03-05 00: 00: 01.730. Это то же самое в исходном CSV.

time                        uniqueQualifier
------------------------------------------------
2020-03-05 00:00:01.730     1192400537322090213

Кто-нибудь знает, как SQL Сервер может выдавать эту ошибку, несмотря на то, что вставка не содержит указанный составной ключ (5 марта 2020 г., 12:00, 1192400537322090213), а uniqueQualifier является полностью уникальным и неиспользованным во второй раз?

Любая помощь по этому вопросу высоко ценится.

1 Ответ

1 голос
/ 27 марта 2020

Вы уверены, что в вашем CSV нет дубликатов? С сервером SQL то, что он вызывает, не всегда является проблемой. Вы должны иметь возможность открыть свой CSV в Excel и проверить, что нет повторяющихся значений.

Кроме того, не могли бы вы показать свой оператор вставки? Возможно, вы вставили введенные значения, дублируя их.

...