MySQL多行update合并一行书写
需求:
如何将多条update语句合并为一条update语句:
如,update table1 set col='2012' haha='hello' where id='2014001'
update table1 set col='1009' haha='nihao' where id='2014003'
上面 这两行 执行之后,每一条需要5秒,总共需要10秒才能执行完.
如何合并为一条?
在网上找了好久,总结了一个相对简单的语句(有些语句是函数语句,有点晕),如下:
update table1 set col=(case id
when '2014001' then '2012'
when '2014003' then '1009' end),
haha=(case id
when '2014001' then 'hello'
when '2014003' then 'nihao' end)
where id in('2014001','2014003')
改成这个之后,还是需要5秒,但是,它只执行了一次,所以只需要5秒