Множественный SQL Insert не работает, если одна из строк не попадает под условие уникального индекса.?

Есть уникальный индекс по нескольким столбцам(Name,Datetime). Я периодически делаю запрос к другому сервису и вношу данные в мою таблицу. Я формирую множественный Insert запрос, и сперва все данные вносятся, а потом при обновлении с сервиса часть данных одинаковая и я вношу данные в таблицу, но так как уникальный индекс блокирует внесение, то весь запрос не срабатывает.
Я хочу вставить только те строки, которые новые. Те, которые не изменились- не вставлять.
Пример- мониторю количество продуктов:)) на сервисе

яблоки  29.10.2017 18:00:00 20(тонн)
    груши   29.10.2017 18:00:10 60(тонн)


Через минуту

яблоки  29.10.2017 18:01:00 1000(тонн)  //ИЗМЕНИЛОСЬ
    груши   29.10.2017 18:00:10 60(тонн)    //не ИЗМЕНИЛОСЬ- тоже отправлять на вставку,но эта строка не отработает из за уникального индекса


потом опять обновляю и надо вставить только те, которых не было.
  • Вопрос задан
  • 309 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Какой диалект SQL?
Для MySQL - INSERT IGNORE или INSERT ... ON DUPLICATE KEY UPDATE
Ответ написан
Комментировать
@x_shader
Oracle & Coffee
Если Oracle - MERGE
www.sql.ru/blogs/oracleandsql/1927
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы