@Zorgios

Как обновить все записи по списку id?

Имеется база с колонками ID(int), Status(int)
Как, имея список ID (из N штук), составить запрос на обновление данных у всех записей из этого списка ID?
(Нужно менять значение поля Status)
Как правильно будет выглядеть запрос? Не отправлять же N запросов на каждый id отдельно...
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
@o5a
Если производительность не критична (список id не особо большой), то можно просто использовать executemany (он по факту запускает отдельные update, но автоматом по списку).
cur.executemany('update mytab set status = 1 where id = ?', ((id, ) for id in idlist) )

Для лучшей производительности правильнее будет использовать 'update ... where id in (...)', формируя запрос форматированием с передачей параметров, но там тоже свои особенности.

P.S. не заметил тэг SQLalchemy. Если нужно именно для нее, тогда ответ не подойдет :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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