Задать вопрос
@Seahunter

Как обновить множество строк sql в одном запросе?

Всем привет. Есть задача: нужно импортировать в базу данные из csv, при этом при нахождении дубля обновлять, а при отсутствии вставлять. Дубль, нужно искать по 2-м полям, к примеру from и condition - это строки. Проблема заключается в том, чтобы запихнуть в одни запрос. В гугле предлагают пройтись циклом по массиву и для каждого делать UPDATE - мне не подходит, так как в файле может быть несколько тысяч строк. Есть вариант DUPLICATE KEY UPDATE - но он работает, как я понял, только с PRIMARY KEY. Какие есть варианты? Буду очень благодарен.
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
DevMan
@DevMan
DUPLICATE KEY UPDATE работает по уникальному индексу, который можно (и нужно) навесить на группу полей.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
мне не подходит, так как в файле может быть несколько тысяч строк.

Очень забавная фантазия. Если бы действительно надо было только

обновить множество строк sql в одном запросе

как сказано в заголовке вопроса, то прекрасно подошел бы этот вариант

Но для задачи
при нахождении дубля обновлять, а при отсутствии вставлять.


подходит ON DUPLICATE KEY UPDATE по уникальному составному ключу.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽