原博链接
总结1
1、如果出现重复异常,希望捕获异常,则使用insert into
2、如果出现重复异常,希望保存旧纪录,忽略新纪录,则使用insert ignore into
3、如果出现重复异常,希望更新指定字段,则使用insert into … on duplicate key update
先插入记录,如果不成功,则删除原记录,但保留了除update语句后字段的值,然后把保留的值与需要更新的值合并,然后插入一条新记录。 这个操作会导致自增字段加1
4、如果出现重复异常,希望删除旧记录,插入新记录,则使用replace into
reaplce into先删除了id为1的记录,然后再插入记录
总结2
replace into 与 insert into on duplicate key update都是先尝试插入记录,如果不成功,则删除记录,replace into不保留原记录的值,而insert into on duplicate key update保留。然后插入一条新记录。