当前位置: 首页 > news >正文

MySQL ON DUPLICATE KEY UPDATE影响行数

目录

分析为什么Updates返回7

总结


数据库更新日志如下

insertOrUpdateList|==>  Preparing: INSERT INTO clue_user_tag (vuid, tag_id, tag_type, content) VALUES (?, ?, ?, ?) , (?, ?, ?, ?) , (?, ?, ?, ?) , (?, ?, ?, ?) ON DUPLICATE KEY UPDATE content = VALUES(content) 
insertOrUpdateList|==> Parameters: 199603942960332807(Long), MI0101(String), org(String), {"buyCount":24,"realAmount":631000.49}(String), 199603942960332807(Long), 8802(String), spu(String), {"latestPurchaseTime":1733760202}(String), 199603942960332807(Long), 9380(String), spu(String), {"latestPurchaseTime":1733760202}(String), 199603942960332807(Long), 4456(String), spu(String), {"latestPurchaseTime":1733760202}(String)
insertOrUpdateList|<==    Updates: 7

可以看到,updateList,大小为4,但是影响行数返回了7 

分析为什么Updates返回7

在MyBatis中,<insert>标签的返回值是受影响的行数。对于ON DUPLICATE KEY UPDATE语句,MySQL会返回插入和更新的总行数。具体来说:

1. 插入操作:

  • 如果一行数据被成功插入,MySQL会返回1。
  • 如果一行数据因为主键冲突而没有被插入,MySQL不会增加返回值。

2. 更新操作:

  • 如果一行数据因为主键冲突而被更新,MySQL会返回2(1表示插入尝试,1表示更新操作)

在本例中,有4行数据尝试插入,是如下情况:

  • 第1、2、3行数据因为主键冲突而被更新,返回2,
  • 第4行数据被成功插入,返回1。
  • 总的受影响行数为:1 (插入) + 2 (更新) + 2 (更新) + 2 (更新) = 7

因此,Updates返回7表示总共有7个操作被执行,其中包括插入和更新操作。

总结

Updates返回结果表示在执行批量插入或更新操作时,总共有多少个操作被执行。这包括成功插入的行数和因为主键冲突而被更新的行数。具体来说,每次更新操作会被计为2(一次插入尝试和一次更新),而每次成功的插入操作会被计为1。

http://www.lryc.cn/news/502580.html

相关文章:

  • uniapp小程序 slot中无法传递外部参数的解决方案
  • umi实现动态获取菜单权限
  • Pytest-Bdd-Playwright 系列教程(14):Docstring 参数
  • 交互开发---测量工具(适用VTK或OpenGL开发的应用程序)
  • Qt 一个简单的QChart 绘图
  • 【Java笔记】LinkedList 底层结构
  • el-table组件树形数据修改展开箭头
  • 太速科技-FMC154-基于FMC 八路SFP+万兆光纤子卡
  • 记:排查设备web时慢时快问题,速度提升100%
  • 音视频入门基础:MPEG2-TS专题(13)——FFmpeg源码中,解析Section Header的实现
  • 根据PDF模板单个PDF导出到浏览器和多个PDF打包ZIP导出到浏览器
  • 如何创建一个基本的Spring Boot应用程序
  • 1.2 计算机网络的分类和应用(重要知识点)
  • @JsonSerialize失效解决
  • Docker部署WebRTC-Streamer
  • 2025年的大模型计划重点在于跨领域智能、工作流自动化、多模态能力强化
  • day12 接口测试 ——入门→精通→实战(1)
  • 伏羲0.07(文生图)
  • scala的泛型特质的应用场景
  • Win10环境vscode+latex+中文快速配置
  • 【vue2】el-select,虚拟滚动(vue-virtual-scroller)
  • 【ETCD】[源码阅读]深度解析 EtcdServer 的 processInternalRaftRequestOnce 方法
  • 【RabbitMQ】RabbitMQ中核心概念交换机(Exchange)、队列(Queue)和路由键(Routing Key)等详细介绍
  • 【AI知识】过拟合、欠拟合和正则化
  • 计算机毕设-基于springboot的航空散货调度系统的设计与实现(附源码+lw+ppt+开题报告)
  • 视图、转发与重定向、静态资源处理
  • 优选算法——分治(快排)
  • 【Linux系统】文件系统
  • javaweb的基础
  • 家里养几条金鱼比较好?