Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

memperbarui massal daftar nilai dari daftar id

Berikut adalah salah satu cara untuk melakukannya menggunakan satu pertanyaan. Ini tidak akan menjadi kueri dengan format tercantik, tetapi hanya satu.

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

Lihat SQLFiddle saya yang dimodifikasi .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. variabel terdefinisi global kustom mysql

  2. Kolom dihitung dari kolom lain?

  3. Kolom 'user_id' dalam daftar bidang tidak jelas

  4. Memilih catatan terakhir dari INNER JOIN dan pengelompokan

  5. Cara menjalankan Proses di Swift 3.0 dengan input standar