mysql更新多条不相同的数据

2018年11月6日 0 作者 筱枫

今天做一个开发的时候,遇到了这样的问题
平常,更新一条数据很简单

update table_name set name=test where id=1;

更新多条数据也很简单

update table_name set name=test where id in (1, 2, 3, 4);

但今天这个问题,更新多条不同得数据,就稍显复杂,经过查询,发现有种办法也可以通过一条sql语句完成,而不用循环去每次更新,那样效率太低

update table_name set name=case id
    when 1 then hello
    when 2 then abcd
    when 3 then 444
    when 4 then world
    end
where id in (1, 2, 3, 4);

这样效率不算低,而且简单易懂

引用:
mysql 批量更新与批量更新多条记录的不同值实现方法