MySQL UPDATE多个IF条件

csm*_*32s 2 mysql if-statement

我有一个表填充了不正确的数据,所以我需要切换一些数字.我不确定这是否是最好的方法,但我正在考虑使用具有多个IF条件的UPDATE语句.就像是:

UPDATE 
    `orders`
SET 
    `orderPriority` = 1
    IF(`orderPriority` = 2)
OR
    `orderPriority` = 2
    IF(`orderPriority = 3)
OR
    `orderPriority` = 3
    IF(`orderPriority` = 1);
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,但我的SQL技能缺乏.任何帮助表示赞赏!

Joe*_*lli 8

UPDATE orders
    SET orderPriority = CASE WHEN orderPriority = 1 THEN 3
                             WHEN orderPriority = 2 THEN 1
                             WHEN orderPriority = 3 THEN 2
                        END
    WHERE orderPriority IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)