Mybatis使用on duplicate key update操作详解

导读:本篇文章讲解 Mybatis使用on duplicate key update操作详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

这篇文章我们来讲一下on duplicate key update怎么使用

在mysql中,如果插入语句后面加上on duplicate key update,那么插入行的数据表中的数据主键或者唯一索引出现重复就更新,不重复则插入

我们现在来模拟一下这种情况。

我们现在有一张student表

Mybatis使用on duplicate key update操作详解

我们给姓名和手机号添加了唯一索引

Mybatis使用on duplicate key update操作详解

接下来我们的思路是:我们添加数据的时候,每个人的姓名和手机号是唯一的,如果有重复的姓名或者手机号那么就不会添加新的内容,而是在原有的数据上进行更新

来看一下我们的sql语句

Mybatis使用on duplicate key update操作详解

 我们来测试一下

Mybatis使用on duplicate key update操作详解

Mybatis使用on duplicate key update操作详解

 可以看到我们添加成功,那么我们再次添加,手机号和姓名不变,我们把地址改一下

Mybatis使用on duplicate key update操作详解

 Mybatis使用on duplicate key update操作详解

可以看到姓名和手机号相同的话就会更新数据,那么为什么输出的是两行数据呢?我们在添加一条新的数据

Mybatis使用on duplicate key update操作详解

 Mybatis使用on duplicate key update操作详解

 可以看到,7完了以后直接变成9了。

实际上是用了两部操作,第一次插入的时候id变成8了,然后发现唯一索引上有值,后续改为更新操作,将地址更新到id=7上所以下次添加的时候,8已经有了,但是没有添加成功,实际上是存在的,所以就直接递增

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/48502.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!