mysql 批量更新语句三个例子

发布时间:2020-09-23编辑:脚本学堂
本文介绍了mysql update批量更新语句的三种用法,mysql 批量更新语句的例子,需要的朋友参考下。

mysql 批量更新,如果用最原始的批量update语句,性能不是很好。

这里分享三种办法,性能上有改进:

1、批量update,一条记录update一次,性能很差
 

update test_tbl set dr='2' where id=1;

2、replace into 或者insert into ...on duplicate key update
 

replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y');
--或使用
insert into test_tbl (id,dr) values  (1,'2'),(2,'3'),...(x,'y') on duplicate key update dr=values(dr);

3、创建临时表,先更新临时表,然后从临时表中update
 

create temporary table tmp(id int(4) primary key,dr varchar(50));
insert into tmp values  (0,'gone'), (1,'xx'),...(m,'yy');
update test_tbl, tmp set test_tbl.dr=tmp.dr where test_tbl.id=tmp.id;

注意:这种方法需要用户有temporary 表的create 权限。