Mysql
 sql >> база данни >  >> RDS >> Mysql

групово актуализиране на списък със стойности от списък с идентификатори

Ето един начин да направите това с помощта на един запитване. Няма да е най-красиво форматираната заявка, но ще бъде само една.

<?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})
";
?>

Вижте моя модифициран SQLPiddle .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какви са най-добрите практики за самоактуализиращи се PHP+MySQL приложения?

  2. Как да вмъкнете данни в таблица 1 с поле за проверка от таблица 2 (Codeigniter)

  3. Числова стойност извън диапазона:1264 в mysql

  4. Разлика между ANSI и Unicode драйвери на MySQL

  5. mysqldump версия Грешка при експортиране на данни от MySQL