mysql ignore、replace、on duplicate key update

  1. 场景一:有一张表设置了name字段为唯一索引,在插入的时候,可能插入一条,也可能同时插入几条数据,但是由于name设置了唯一索引,所以如果批量插入的数据有name值重复,就会导致所有的插入失败。如果选择一条一条插入,可以进行判断表中是否已经存在相同的name值,但是消耗数据库资源,性能低。这个时候,可以选择 insert ignore into table (name,other_key) values ('xx', 'yy') ('ss', 'ff') 或者replace into 或者  on duplicate  name  update。具体的用法可以查询手册。ignore会忽略和已存在的记录相同的数据,不插入。replace into  会删除旧的记录,插入新的记录。

猜你喜欢

转载自www.cnblogs.com/bneglect/p/12577579.html