Insert ignore,还是insert replace还是insert on duplicate key update区别

Insert ignore,还是insert replace还是insert on duplicate key update区别

  • insert into 表示插入数据,数据库会检查主键(primary key),如果主键重复,就会报错;
  • replace into 表示替换数据,需要表的设计带有主键(primary key),或者唯一索引(unique),如果数据库已经存在数据,删除数据,插入新数据,如果没有数据,那就直接插入数据,效果等同于insert into;
  • insert ignore into 表示表中如果有相同的数据时,忽略当前的数据,如果不存在,那就直接插入数据;
  • on duplicate key update + 非主键列:有则就指定更新指定的列,没有就直接添加数据;

场景的使用意向:

  • 要不捕获异常---------insert into;
  • 删除老数据,,插入新数据 --------replace into
  • 保存老数据,忽略新数据----------insert ignore into
  • 只想更新数据部分列,其他不做更新---------on duplicate key update
原文地址:https://www.cnblogs.com/Zhao159461/p/13180851.html