Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zaktualizuj wiele wierszy z wieloma klauzulami „gdzie” dla każdego wiersza

spróbuj, używając 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 aktualizuje kolumnę o int na podstawie zamówienia

  2. zmień status harmonogramu zdarzeń w mysql

  3. Jak stworzyć sekwencję w MySQL

  4. Mysql:Ustaw zestaw znaków kolumny

  5. Upuść wiele kolumn MySQL