示例:

     <insert id="addInfos" parameterType="java.util.List">INSERT INTO tbl_hscode_setting_catalog ( hsCode, `name`,last_update_date)VALUES<foreach collection="list" item="item" separator=","><trim prefix="(" suffix=")" >#{item.hsCode,jdbcType=VARCHAR},#{item.name,jdbcType=VARCHAR},now()</trim></foreach>ON DUPLICATE KEY UPDATE hsCode = VALUES ( hsCode ),last_update_date = VALUES ( last_update_date )</insert>

注意事项:

1、以name字段为判断依据,如果存在相同的name则更新,否则新增
2、name须有索引,索引类型为UNIQUE,如图

3、据查阅,该方法限用于Mysql中

说明:

示例中,tbl_hscode_setting_catalog 为表名,hsCodelast_update_date为其它字段,name为非重复字段

补充:

sql形式:

INSERT INTO tbl_hscode_setting_catalog ( hsCode, `name` )
VALUES( '123', '腰包' ) ,( NULL, '鞋子' )ON DUPLICATE KEY UPDATE hsCode = VALUES( hsCode )

单个操作:

INSERT INTO tbl_hscode_setting_catalog ( hsCode, `name` )
VALUES( '123', '腰包' ) ON DUPLICATE KEY UPDATE hsCode = VALUES( hsCode )

多个操作:

INSERT INTO tbl_hscode_setting_catalog ( hsCode, `name`, last_updated_by )
VALUES( '123', '腰包', 'admin' ) ON DUPLICATE KEY UPDATE hsCode = '腰包', last_updated_by = 'admin'

存在则更新,否则新增(ON DUPLICATE KEY UPDATE)(Mysql)相关推荐

  1. mysql批量insert bug_MySQL Bug insert into on duplicate key update 语法更新 text blob 大字段导致 MySQL crash...

    1. 背景 业务执行 SQL 导致 MySQL 进程 Crash,做故障切换后,新的主库又 Crash 了.查看 MySQL 错误日志,发现多次 Crash 时的堆栈相同,如下: Thread poi ...

  2. mysql批量更新,批量插入之replace语句/insert into... on duplicate key update语句

    mysql批量更新/插入数据有以下方法,使用这些方法批量插入数据/更新数据的时候就不用在代码层次增加判断数据是否已存在的逻辑了. 1:replace语句 2: insert into... on du ...

  3. ON DUPLICATE KEY UPDATE 附带更新条件

    ON DUPLICATE KEY UPDATE 1.根据表索引唯一性,如果在insert时冲突则改为update:实际场景使用中update时可能会需要一定的条件限制,但ON DUPLICATE KE ...

  4. ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql

    在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,第一反应是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有 ON DUP ...

  5. mysql 复合主键更新_MySQL复合主键下ON DUPLICATE KEY UPDATE语句失效问题

    问题的起因,假设有一张表,里面保存了交易订单,每张订单有唯一的ID,有最后更新时间,还有数据,详情如下: 针对这张表会做追加及更新的操作,具体来说就是如果订单不存在就INSERT一条新的,如果已存在就 ...

  6. mysql插入并更新(on duplicate key update)

    Mysql插入数据,如果存在此数据,那么就更新这条数据,否则插入数据. 使用 on duplicate key update. 准备工作 建表 create table user_info(id in ...

  7. insert ... on duplicate key update产生death lock死锁原理

    转载自  insert ... on duplicate key update产生death lock死锁原理 前言 编辑 我们在实际业务场景中,经常会有一个这样的需求,插入某条记录,如果已经存在了则 ...

  8. mysql-on duplicate key update实现insertOrUpdate官方文档

    [README] mysql 基于 on duplicate key update filed=value ; 实现有则更新,没有则插入: 以下内容总结于  https://dev.mysql.com ...

  9. ON DUPLICATE key update的介绍与使用

    点赞再看,养成习惯,下面介绍ON DUPLICATE key update的使用. 目录 一.主键索引.唯一索引和普通索引的关系 二.实战操作 1.ON DUPLICATE key update使用介 ...

最新文章

  1. 一个老产品的心路历程
  2. jquery下拉分页
  3. matlab中的方波信号图片_电气信息类专业课程之matlab系统仿真 第十章 DBPSK调制解调器(9)...
  4. 科大星云诗社动态20201121
  5. VS2012 避免单击打开项目中的文件(单击改双击)
  6. SQL语句中 as 的作用
  7. java凯撒密码_JAVA凯撒密码 选择问题
  8. oracle32位客户端安装教程,Win7系统32位Oracle11g客户端安装详述
  9. RecycleView添加setEmptyView
  10. glm 中 数据类型 与 原始数据(c++ 数组)之间的转换
  11. Java设计模式与实践
  12. 用国家简写查找对应的国家名称和所在 洲
  13. paypal 付款、支出接入文档及官方示例
  14. Liquibase常用操作
  15. 微信公众号模板消息推送(PHP)
  16. 数字孪生在制造业的7种应用
  17. 计算机程序设计表单,表单模板和表单简介
  18. python 连接mssqlserver方法之pymssql
  19. Android Instant App 介绍
  20. 【李开复】给中国学生的第一封信——从诚信谈起 (一)

热门文章

  1. C++string转int的方法
  2. 家乡自有黄金屋 快手新乡村网红的“返乡经济学”
  3. 六款最主流的免费网络嗅探软件全接触
  4. 华硕主板如何设置开机自启_华硕主板bios怎样设置开机启动密码(cmos密码)
  5. 设计要注意火候【视觉设计】
  6. 女生最想和程序员男友分手的5个瞬间 ....
  7. 漏电起痕CTI/PTI测试-GB/T4207解读
  8. 如何用C#创建OLE对象?
  9. 【iMessage苹果推】iOS 当地推送(Local Push) 安装OS CSR文件尽可能多地使每个证书区分开
  10. Safari浏览器删除不了数据怎么办