mysql 的 INSERT INTO ON DUPLICATE KEY UPDATE 和 replace into 的区别

注意慎用replace into,两个的主要区别如下

replace into INSERT INTO ON DUPLICATE KEY UPDATE
遇到更新时是先删掉原来的在插入新的 遇到更新时直接update
由于先删除旧的,如果原来有些列有旧数据或者没有提供更新的列,会丢数据 典型的update数据,只影响update的列,别的没有影响
由于先删旧的性能慢 性能快

参考:
MySQL "replace into" 的坑
Mysql replace 与 insert on duplicate效率分析
INSERT INTO .. ON DUPLICATE KEY更新多行记录

© 2017, 新之助meow. 原创文章转载请注明: 转载自http://www.xinmeow.com

0.00 avg. rating (0% score) - 0 votes
点赞