replace into 和 insert into..... on duplicate key update的异同

同:
1. 当key不存在时,两者相同,都是插入一条数据
2. key存在时,执行两者都保留主键值,且 auto_increment自增1

异:
1. 当key存在时,replace into先删除原来的记录,再插入新的记录,因此原有的数据会被清楚。此时若replace into语句包含的字段不完整,则原有字段有的值在replace into执行之后可能会被赋默认值。而insert into... on duplicate key update的效果只是单纯的update对应字段的值。(但是auto_increment会自增,推测可能是先delete,再insert,但是原有的字段值会被保留)
2. 从底层执行效率上来讲,replace要比insert .. on deplicate update效率要高,但是在写replace的时候,字段要写全,防止老的字段数据被删除。

相关文章:

  • 2022-12-23
  • 2021-09-02
  • 2021-06-13
  • 2021-09-06
  • 2022-01-31
  • 2021-11-13
  • 2021-12-25
  • 2021-12-28
猜你喜欢
  • 2021-10-16
  • 2022-12-23
  • 2021-07-29
  • 2021-04-14
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
相关资源
相似解决方案