四种模式的区别:
1、insert into 最普遍的插入,如果表中存在主键相同的数据,执行会报错。
2、replace into 如果表中存在与主键相同的数据,则替换掉该主键的记录,反之则插入(存在就替换,反之插入)
3、insert ignore 如果表中存在主键相同的数据不在插入该条数据,反之则插入(存在则忽略,反之插入)
4、insert into *** on duplicate key update 如果表中存在该记录,则按新的数据进行修改,不存在则插入。(与replace into的区别在于:replace是完全替换成新的数据记录,此处是修改不同的地方,新纪录中没有的部分依然采用老记录中的数据。)
参考内容:
https://www.cnblogs.com/fillt/archive/2018/05/31/9118238.html
https://www.jianshu.com/p/1da02d9a3c73