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

Yii2 как сделать множественные вставки/удаления/обновления?

Как делать выборку, вставку, удаление, обновление данных без цикла? И как исключить обновление полей которые не изменились ?
  • Вопрос задан
  • 4955 просмотров
Подписаться 2 Средний Комментировать
Решения вопроса 1
ivankomolin
@ivankomolin
В yii2 есть batch insert: www.yiiframework.com/doc-2.0/yii-db-command.html#b...

Его можно использовать для множественной вставки
Для множественного обновления можно использовать его же, с небольшими доработками(добавлением ON DUPLICATE KEY UPDATE)
А вот насчет массового удаления наверное просто IN, например так: ->where(['IN', 'id', $ids])
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@springimport
Обычный insert (batch update):
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);


Не могу найти подтверждение, но мне кажется что транзакция позволит без проблем работать с циклом.
Вставка 10 000 записей в одной транзакции?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы