@Farrien
Tell me who

Как сделать sql update лучше?

Нужно за один раз сделать несколько сотен update в некоторых строках в таблице.

$views = 'какое то число';
$q = $pdo->prepare('UPDATE articles SET views=? WHERE id=?');
foreach ($rows AS $id) {
	$q->execute([$views, $id]);
}


Это единственное решение?
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ответы на вопрос 2
l3ftoverz
@l3ftoverz
Люблю Финский металкор и ищу работу.
Можно, через IN.
Что-то вроде такого:

$q = $pdo->prepare("UPDATE articles SET views=? WHERE id IN(". str_repeat("?", count($rows)) .")");
$q->execute([$views, ...$rows]);


Не помню, точно как пользоваться PDO, может можно более адекватно пробиндить параметры. Давно PHP не юзал.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 мая 2020, в 02:01
4500 руб./за проект
26 мая 2020, в 00:42
10000 руб./за проект
25 мая 2020, в 22:16
3000 руб./за проект