尝试使用
CASE
Update MyTable SET value = CASEWHEN 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 ENDWHERe 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.



