我有一个表格,其中填充了不正确的数据,因此我需要调换一些数字。我不确定这是否是最好的方法,但我正在考虑使用具有多个 IF 条件的 UPDATE 语句。像这样的东西:
UPDATE
`orders`
SET
`orderPriority` = 1
IF(`orderPriority` = 2)
OR
`orderPriority` = 2
IF(`orderPriority = 3)
OR
`orderPriority` = 3
IF(`orderPriority` = 1);
显然这行不通,但我的 SQL 技能在这里欠缺。任何帮助表示赞赏!!!
最佳答案
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)
关于MySQL UPDATE 多个 IF 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265919/