# MySQL中insert into和replace into以及insert ignore的区别

- Link: https://www.xuepaijie.com/html/skill/devops/580.html
- Published: 2016-03-10T17:50:06+08:00
- Author: Admin

这个东西的比较主要从以下两个方面来看，

INSERT IGNORE 与 INSERT INTO 的区别就是 INSERT IGNORE 会忽略数据库中已经存在 的数据，
如果数据库没有数据，就插入新的数据，如果有数据的话就跳过这条数据。这样就可以保留
数据库中已经存在数据，达到在间隙中插入数据的目的。

而当一个表中存在主键或唯一索引时，你使用 replace into 语句插入数据时，会先把冲突
的旧数据删除，然后插入新数据，简单地理解为替换。而 insert into 则会报错，至于其他
情况与 insert into 一样。
