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

Актуализирайте множество редове с множество клаузи „къде“ за всеки отделен ред

опитайте това, като използвате 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. Премахнете напълно MariaDB или MySQL от CentOS 7 или RHEL 7

  2. SQL SERVER – SQL_NO_CACHE и ОПЦИЯ (ПРЕКОМПИЛИРАНЕ)

  3. MySQL заявката не работи, докато използвате php променлива в клаузата where

  4. Увеличете колоните в laravel

  5. MySQL> Таблица не съществува. Но го прави (или трябва)