MySQL插入数据时insert into、insert ignore into、replace into的区别
结论:
- insert into
在插入时,如果没有该数据,则插入成功;
在插入时,如果已经存在该数据,则会报错。 - insert ignore into
在插入时,如果没有该数据,则插入成功;
在插入时,如果存在数据,则会忽略掉本次插入的数据,并且原数据不变。 - replace into
在插入时,如果没有该数据,则直接插入新数据成功;
在插入时,如果存在该数据,则会先删掉原先的数据,并且插入新数据进行更新。
对于某个表中是否已经存在该数据的判断依据:根据主键或者唯一索引判断。