Множественный UPDATE (SQL)

Если нужно обновить сразу несколько записей, необязательно делать UPDATE для каждой из них. В простейших случаях можно использовать следующий синтаксис:

foreach ($items as $item) {
  $sId[] = $item['id'];
  $sVal[] = $values[$item['id']];
}
$SQL->query(
  "UPDATE table " .
  "SET field=ELT(FIELD(id,".implode(',',$sId)."),".implode(',',$sVal).") " .
  "WHERE id IN (" . implode(',',$sId) . ")";
);

Негатив: MySQL-specific.

1 комментарий

  • tonchik™2010, 18 октября @ 15:32 Ответить

    Это полезно, когда вы обновляете каталог из CSV (или другие прайсы).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *