mysql存在则更新方法对比分析

发布时间:2019-10-13编辑:脚本学堂
介绍下mysql数据库中存在则更新的方法,对几种方法做下对比,有需要的朋友做个参考。

mysql存在则更新方法:
 

select + update
replace into
insert into … on duplicate key update
select + update 是最传统的一个,要对数据库进行两次操作。
replace into 和 insert into on duplicate key update都是一次操作,表面看起来功能差不多,replace into 还优胜些,因为要短一些。

区别:
replace into 等于 delete + insert into,如果表的主键是一个自增id,那问题就来了,replace into 会导致主键的值越来越大,如果溢出,将会导致数据无法插入。
而insert into on duplicate key update的实质却是 if(exists) update else insert into 的操作。
两者的效率都很一般。