Как не дать пользователю повторно загрузить данные в БД из Excel файла
такая ситуация. У меня есть сервис, куда входит пользователь и импортирует Excel файл, содержащий таблицу с данными, в которой 40-100 строк. Потом идет автоматический парсинг и построчный insert данных. Как я могу сделать проверку на "дурака" и защитить базу от повторного импорта файла? Например, если пользователь случайно/специально загрузит файл ещё раз. В БД на данный момент 2кк+ строк. Спасибо.
Ответы (1 шт):
Автор решения: user453575457
→ Ссылка
Зависит от используемой СУБД, но универсальное решение - просто в коде перед вставкой проверять есть ли уже запись в базе данных, поискав ее по ключевым полям. Если это SQL server попробуйте так, выбрав набор полей которые уникальны для ваешго случая:
BEGIN
IF NOT EXISTS (SELECT * FROM EmailsRecebidos
WHERE Name = @_NAME
AND Email = @_EMAIL
AND Surname = @_SURNAME)
BEGIN
INSERT INTO Emails (Name, Email, Surname)
VALUES (@_NAME, @_EMAIL, @_SURNAME)
END
END