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

Perbarui beberapa baris dengan beberapa klausa 'di mana' untuk setiap baris individu

coba ini dengan menggunakan CASE

Update  MyTable 
SET     value = CASE 
                     WHEN  game_id = 1 AND x = -4 AND y = 8 THEN 1
                     WHEN  game_id = 1 AND x = -3 AND y = 7 THEN 2
                     WHEN  game_id = 2 AND x =  5 AND y = 2 THEN 3
                     ELSE  value 
                END
WHERE   game_ID IN (1,2,3) AND  -- the purpose of this WHERE clause
        x IN (-4, -3, 5) AND    -- is to optimize the query by preventing from
        y IN (8,7,2)            -- performing full table scan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL tipe data INT(11) sedangkan INTTUNSIGNED(10)?

  2. Apa cara kanonik untuk menarik catatan dari database MySQL yang memiliki bidang terkecil/terbesar?

  3. Cara Keluar dari Kutipan Tunggal, Karakter Khusus di MySQL

  4. MySQL - BERGABUNG dengan ATAU b

  5. bendera 'aktif' atau tidak?