Mysql 使用CASE...WHEN语句批量更新数据

CASE…WHEN语句的涵义与一般高级语言中的SWITCH…CASE语句类似,

如下所示,即:在表名表中,当字段字段3的值为’值X’时,修改字段1字段2的值为’结果X’和’结果X’。

UPDATE `表名` SET
        `字段1` = CASE `字段3`
        WHEN '值1' THEN '结果1'
        WHEN '值2' THEN '结果2'
        WHEN '值3' THEN '结果3'
    END,
        `字段2` = CASE `字段3`
        WHEN '值1' THEN '结果4'
        WHEN '值2' THEN '结果5'
        WHEN '值3' THEN '结果6'
    END
WHERE `字段3` IN ('值1', '值2', '值3');

欢迎转载,转载时请注明来源。

原文地址