mysql中的ON DUPLICATE KEY UPDATE

Posted zhizhixiaoxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中的ON DUPLICATE KEY UPDATE相关的知识,希望对你有一定的参考价值。

mysql中,如何把数据插入(insert)与更新(update)写在一个sql中呢?

没错,答案就是用ON DUPLICATE KEY UPDATE。看图说话:

 

技术图片

 

要想两者合体,就需要显示插入主键。如果插入的主键不存在或者主键是自增的时候参数中没有赋主键值(这时主键时null),这时会执行新增数据操作;如果主键在表中已经存在,就会执行ON DUPLICATE KEY UPDATE语句进行数据更新。

 mybatis中这样写:

技术图片

 

ON DUPLICATE KEY UPDATE后面的语句解读:

1、我们需要更新的字段写在这里;

2、“=” 左边是声明要更新那个字段(字段名与数据库表中的字段一致),右边values()函数中的参数,也是字段名也是要与数据库表中的字段一致。

 

以上是关于mysql中的ON DUPLICATE KEY UPDATE的主要内容,如果未能解决你的问题,请参考以下文章

相当于 Sql Server 中的 MySQL ON DUPLICATE KEY UPDATE

MySQL中的`REPLACE`和`INSERT ... ON DUPLICATE KEY UPDATE`之间有啥实际区别?

MySQL INSERT ON DUPLICATE KEY UPDATE

on duplicate key update 的使用(数据库有就修改,没有就添加数据)

mysql ON DUPLICATE KEY UPDATE

INSERT..ON DUPLICATE KEY UPDATE 语句中的锁定如何工作?