@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 не юзал.
Ответ написан
Ваш ответ на вопрос

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

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