sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera flera rader med flera "where"-satser för varje enskild rad

prova detta genom att använda 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. Hur kan VBA ansluta till MySQL-databas i Excel?

  2. hur man använder LINQ till SQL med mySQL

  3. Hur implementerar man en många-till-många-relation i PostgreSQL?

  4. nvarchar-konkatenering / index / nvarchar(max) oförklarligt beteende