mysql 插入更新在一条sql ON DUPLICATE KEY UPDATE

Posted 天国的恩赐

tags:

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

有时候需要进行数据操作的,如果有数据则更新数据, 没有数据则插入. 以往的做法是先查询,再根据查询结果进行判断,执行插入或更新操作

其实 有一种 ON DUPLICATE KEY UPDATE 语法, 可以在一条sql里完成上述逻辑操作.

INSERT INTO tbPrize(sOpenid,iAreaId,iPlatId,SSSgroupOne,SSSgroupTwo,SSgroupOne,SSgroupTwo,SgroupOne,SgroupTwo,dtFound) VALUES (‘2A4528699714BC8016DAED06E245163F‘,1038,1038,556175,556172,111,222,556144,556137,‘2018-03-20 11:28:30‘)
ON DUPLICATE KEY UPDATE sOpenid = ‘2A4528699714BC8016DAED06E245163F‘,SSgroupOne=777,SSgroupTwo=888

 

  1. 在正常的插入语句后面增加, ON DUPLICATE KEY UPDATE 字段名=值, 多个值逗号隔开
  2. 一定要有一个主键或者唯一的键 , 不择语句不生效

 


以上是关于mysql 插入更新在一条sql ON DUPLICATE KEY UPDATE的主要内容,如果未能解决你的问题,请参考以下文章

sql 更新字段(如果存在)或插入(如果不存在)(使用MySQL ON DUPLICATE KEY UPDATE)

MySQL-插入更新 ON DUPLICATE KEY UPDATE

mysql里一条SQL语句完成新增或更新

MySQL+MyBatis一条命令批量插入或更新

MySQL+MyBatis一条命令批量插入或更新

如何制作将生成 SQL 以在一条语句中插入多个值的 HQL?