UPDATE table
SET s = CASE id
WHEN 1 THEN '1'
WHEN 3 THEN '2'
END
WHERE id IN (1,3)
更新一个字段这样写,要是同时更新两个或者更多字段怎么写

解决方案 »

  1.   

    s和id这两个字段的关系是什么?
      

  2.   

    一样的啊……update table set field_a='', field_b='',……你的代码里''部分,被CASE WHEN语法代替了如果别的字段还是依赖某个字段的,同样的结构代替
      

  3.   

    UPDATE z set s=  CASE d WHEN 6 THEN '5' WHEN 7 THEN '3' , set a=  CASE d WHEN 6 THEN '5' WHEN 7 THEN '3' END WHERE d IN (6,7);
    我像这样写的,不对啊。
      

  4.   

    UPDATE `z` set s=  CASE d WHEN 6 THEN '5' WHEN 7 THEN '3' END ,  a=  CASE d WHEN 6 THEN '5' WHEN 7 THEN '3' END WHERE d IN (6,7)
    正解