MySQL之replace into

MySQL的replace into语法较之于insert into语法,都具有向表中插入数据的功能。
两者的相同点都是基于行的主键或者唯一索引进行判断的;
如果使用insert into时,插入的数据出现了主键冲突或者唯一索引冲突,那么insert就会报错,不继续执行;但是使用replace into时,就不会出现类似的问题,关键点在于replace会自动删除出现冲突的数据并插入新的数据。
replace into的简略知识点如下:
insert into 和 replace into:
当有主键冲突时,insert into会报错,不再执行;
replace into的作用是用于不知道是更新操作还是插入操作时使用,replace into 先尝试向数据库中插入数据,如遇到主键或者唯一索引冲突时
将冲突行删除,再将新数据插入,MySQL自动完成不需要用户操作;

replace into的使用方式:
方式一:replace into tableName(col1, col2, col3) values(v1, v2, v3);
方式二:replace into tableName(col1, col2, col3) select v1, v2, v3 from t1; – 用法类似于insert … select …
方式三:replace into tableName set col1 = v1, col2 = v2, col3 = v3; – 用法类似于update set

总结:
replace into遇到主键或者唯一索引冲突时,会先删除冲突的数据,然后再插入数据;
replace into遇到主键或者唯一索引冲突时,不会报错;
replace into是根据主键或者唯一索引进行判断的,如果没有主键或者唯一索引时,会有数据的重复问题;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值