एक . का उपयोग करके ऐसा करने का एक तरीका यहां दिया गया है सवाल। यह सबसे सुंदर स्वरूपित क्वेरी नहीं होगी, लेकिन यह केवल एक होगी।
<?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})
";
?>
मेरा संशोधित देखें SQLFiddle ।