Mysql的更新数据on duplicate key update的注意事项

1. 背景

        关于mysql的on duplicate key update的功能,解决了如下场景的问题:如果数据存在做更新,否则增加。对于使用此场景的情况,使用此功能简化对数据的更新操作,带来好多方便,如:简化代码 ;

         on duplicate key update的使用事例如下:

  

 insert into tablename (id,name,amount,...) 
  values(1,'jack',0,...),(2,'ma',1,...) 
  on duplicate key update 
  amount=values(amount);

2. 问题

 使用mysql的on duplicate key update的功能经常遇到的问题:

更新数据的时候,对主键或唯一索引的字段做了更新;会导致更新数据操作失败,或者数据的唯一性发生变更或者被篡改。

避免出现上述问题,根据业务实际场景,on duplicate key update后面不要更新主键或唯一索引的字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值