Mysql
 sql >> Database >  >> RDS >> Mysql

aggiornamento in blocco di un elenco di valori da un elenco di ID

Ecco un modo per farlo usando uno interrogazione. Non sarà la query con il formato più carino, ma sarà solo una.

<?php

$id_list = implode(',', $ids);
$whens = implode(
    "\n    ",
    array_map(
        function ($id, $value) {
            return "WHEN {$id} THEN {$value}";
        },
        $ids,
        $values
    )
);

$sql = "
    UPDATE value
    SET value = CASE id
    {$whens}
    END
    WHERE id IN ({$id_list})
";
?>

Vedi il mio SQLFiddle modificato .