MariaDB/Mysql 批量插入 批量更新

1. 批量插入 insert into ............

insert into table_name (id, name, age) values (1,'乔峰',21),(2,'段誉',22),(3,'虚竹',23);

2. 批量更新(存在就更新, 不存在就插入) insert into ............ on duplicate key update ............  

insert into table_name (id, name, age) values (1,'乔峰',21),(2,'段誉',22),(3,'虚竹',23) on duplicate key update name = values(name),age = values(age);

3. 批量更新(存在就更新, 不存在就插入) replace into ............

replace into table_name (id, name, age) values (1,'乔峰',21),(2,'段誉',22),(3,'虚竹',23);

on duplicate key update 和 replace into 两种批量更新的区别

on duplicate key update 是在原来的记录上进行更新

replace into 是先把原来的记录删除,然后再插入新的记录,所以如果字段没有写全就会出现某些字段数据的丢失。

所以 replace into 要慎用!慎用!慎用!

猜你喜欢

转载自my.oschina.net/u/1411151/blog/1862284
今日推荐