mysql的replace的使用

mysql里的replace使用有两种情况,一种是replace语句,一种是replace函数,一个是语句一个是函数,一定区别清楚。


replace语句:插入数据

replace into tablename(filed1,filed2...) values(val1,val2...),(val1,val2...)...;



这里replace和insert有什么异同:

replace语句需要有delete和insert权限,因为它具备替换拥有唯一索引或者主键索引重复数据的能力,也就是如果使用replace into插入的数据的唯一索引或者主键索引与之前的数据有重复的情况,将会删除原先的数据,然后再进行添加。


如果replace插入数据的表没有唯一索引或者主键索引,那么它的行为和insert毫无区别。

例子:



replace语句用法注意点:


1:如果replace的表有多个唯一索引,并且replace的数据复制了多个唯一索引的值,那么可能单一行数据代替多个行的旧数据。



2:replace的数据取设置的值,如果没有设置则会取默认的值,replace不能从当前行中引用值,也不能在新行中使用值。



3:由于replace会对唯一索引和主键索引重复的进行删除和重新添加,如果有自增数据,且replace没有设置成要替换的自增列数据,将可能会破坏其他表与该表老数据之间的关联性。



replace函数:替换特定字符

update tablename set filedname=replace(filedname,str,replace_str);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值