on duplicate key update作用全网可查,简单摘要MySQL特性,存在时update,不存在时insert,语法:
insert into table_name(columns)values(values1,values2) on duplicate key update column1=values(column1),column2=values(column2)
使用要点:
1. 表要求必须有主键或唯一索引才能起效果,否则insert或update无效;
2. 注意语法on duplicate key update后面应为需要更新字段,不需要更新的字段不用罗列;
3. 相较于replace into(insert加强版,不存在时insert,存在时先delete后insert)虽然也能达到批量更新目的,但因为删除和添加需要重复维护索引,所以大批量比on duplicate key update性能要差,小量可忽略,自选为主。
附转 on duplicate key update与replace into 详解链接: