mysql 数据库 ON DUPLICATE KEY UPDATE 的使用

在做项目中我们经常会遇到这样的问题、像数据库写入一条数据、如果记录存在、我们便想更新这条记录、如果不存在、便想插入这条记录、通常的做法是先查询一下、如果有就update、如果没有就insert、这个过程难免有点纠结、还好、mysql数据库为我们提供了类似这样的东西、Oracle的是merge into、这里讲讲mysql  ON DUPLICATE KEY UPDATE 的使用。

插入sql:

INSERT into user (user_id,user_name)values(10000,'yahe11') ON DUPLICATE KEY UPDATE user_id=user_id

 当用户id为10000的记录存在的时候就更新、当不存在时就插入数据库,ON DUPLICATE KEY UPDATE 必须接唯一索引字段、

INSERT into user (id,name)values(10000,'yahe444411') ON DUPLICATE KEY UPDATE id=id+1

 这样、如果id为10000存在、运行第一次,只更新id到10001,影响行为二行,运行第二次插入新记录id为10001到数据库,影响行为1,当然如果id+1这条记录也存在、会直接报错

如果不存在、直接插入记录、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值