问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql之replace和ON DUPLICATE KEY UPDATE的区别

发布网友 发布时间:2022-04-27 10:18

我来回答

1个回答

热心网友 时间:2022-04-09 10:57

1)没有key的时候,replace与insert .. on deplicate udpate相同。
2)有key的时候,都保留主键值,并且auto_increment自动+1
不同之处:有key的时候,replace是delete老记录,而录入新的记录,所以原有的所有记录会被清除,这个时候,如果replace语句的字段不全的话,有些原有的比如c字段的值会被自动填充为默认值。
而insert .. deplicate update则只执行update标记之后的sql,从表象上来看相当于一个简单的update语句。
但是实际上,根据我推测,如果是简单的update语句,auto_increment不会+1,应该也是先delete,再insert的操作,只是在insert的过程中保留除update后面字段以外的所有字段的值。
所以两者的区别只有一个,insert .. on deplicate udpate保留了所有字段的旧值,再覆盖然后一起insert进去,而replace没有保留旧值,直接删除再insert新值。
从底层执行效率上来讲,replace要比insert .. on deplicate update效率要高,但是在写replace的时候,字段要写全,防止老的字段数据被删除。
个人倾向与用Replace。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样喷香水留香更持久?有哪些技巧? 有哪些方法让香水持久度更长一些? 怎样喷香水比较持久? 如何喷香水能使味道更持久? 败北是什么梗 湖南第一师范学院生活开销 赣州博沃新能源科技有限公司怎么样? 在湖南第一师范学院读书需要支出哪些费用 江西信丰恒隆麦饭石酒业有限公司公司荣誉 信丰县资源特点 iPad已停用,怎么恢复 ipad停用了,怎么处理 我想学一些理财投资入门与技巧,该去哪里? 我想学习理财投资 我想学习理财?有什么建议吗? iPad停用不用电脑和手机怎么解开? 投资理财学 我想学习投资理财,怎么样才能把理财知识学得精通? 我想学学投资和理财 我想学习投资理财,可不知道从哪里入手学习? 我想学习理财投资,不知该如何下手,请行内人士指点 我想学投资理财,却不知道如何下手,哪位大神帮帮忙,指导我一下 我想学理财从哪里开始 我想学理财从哪里开始? 直系亲属不能相互输血吗 失眠,多梦是怎么回事啊? 带有“龙”字的成语、词语,都有哪些? 怪物猎人3 上位山龙攻击船头时用击龙枪还用放拘束弹吗 山龙眼科的代表树木 在激活医保电子卡时身份验证的密码是多少? mysql 多少支持 on duplicate key update on duplicate key update 怎么用 请举个例子说明 mysql语句请教这里onduplicate key update 有什么错误?程序跑到这里... MYSQL的ON DUPLICATE KEY UPDATE奇怪问题,内详! mysql的on duplicate key update实现insert into select操作吗_百度... 如何在MySQL的SQL语句中避免数据唯一性冲突? mysql 怎么不插入重复数据 怎么防止数据库中插入重复数据 mysql插入和更新问题 python实现mysql插入数据时,判断是否存在,不存在就插入,重复跳过_百度... MYSQL ON DUPLICATE KEY UPDATE的非常奇怪的问题,内详! 为什么微信删掉账单还要人脸识别才能删? 对光缆通信的认识 通讯技术中什么是光纤通信?简述其主要特点。 为什么支付宝删除账单要刷脸验证 如何把声手机上升学一网通app中的视频缓存转到到电脑上去 手机APP缓存的视频如何找到? 怎么把手机APP上缓存的视频转到电脑上 怎么导出手机APP缓存的视频 怎样删除微信里省钱助于?