MYSQL更新条件

时间:2015-03-25 15:50:35

标签: php mysql database

下午好,我一直在寻找一种方法来更新具有不同条件且仅有一行的表格。我明白我可以使用方法" case"但它只更新了最后一行。

UPDATE inscription SET
classification= CASE WHEN id_inscription =1 THEN 1 END,
classification= CASE WHEN id_inscription =17 THEN 2 END,
classification= CASE WHEN id_inscription =18 THEN 3 END
WHERE id_inscription BETWEEN 1 AND 20;

我不确定是否有其他方式而不使用"否则"条件或是否是查询错误。

感谢您的时间

1 个答案:

答案 0 :(得分:1)

使用具有多个条件的单个case。这就是它的用法

UPDATE inscription 
SET classification = CASE WHEN id_inscription =  1 THEN 1 
                          WHEN id_inscription = 17 THEN 2     
                          WHEN id_inscription = 18 THEN 3 
                     END
WHERE id_inscription BETWEEN 1 AND 20;