实际上,我们经常会遇到这样的需求,那就是利用Mybatis批量更新或者批量插入,但是,实际上即使Mybatis完美支持你的sql,你也得看看你说操作的数据库是否支持,而阿福,最近就遇到这样的一个坑。

问题

先带大家来看一段sql的配置,

update t_xxx

old_id = #{item.oldId}

where id = #{item.id}

看似似乎没有一点问题,这里用到了Mybatis的动态sql,实际上说白了也就是拼sql,不过这个繁杂的工作交给Mybatis帮我们去做了。可是,只要一执行就要报语法错误。调试了好久,发现只要传一个值进去就没有问题,就是list的成员只有一个。这引起了我的警觉。

解决方案

后来发现,原来mysql的批量更新是要我们主动去设置的, 就是在数据库的连接url上设置一下,加上* &allowMultiQueries=true *即可。

扩展

实际的业务系统里面oracle数据库也用的非常的多,当然,oracle数据库不需要做特殊的配置,但是相应的sql要做变化。

update t_xxx

old_id = #{item.oldId}

where id = #{item.id}

总结

有些时候,遍寻代码而无错也找不到问题的时候,不妨去找找系统环境的问题,说不定,就只在一瞬,问题迎刃而解。

感谢各位看官。

————————————————

版权声明:本文为CSDN博主「henry-hacker」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wangmeng951011/article/details/67640027

mysql allowmultiqueries=true_Mysql批量更新的一个坑-allowMultiQueries=true允许批量更新(转)...相关推荐

  1. Mysql批量更新的一个坑-allowMultiQueries=true允许批量更新

    前言         实际上,我们经常会遇到这样的需求,那就是利用Mybatis批量更新或者批量插入,但是,实际上即使Mybatis完美支持你的sql,你也得看看你说操作的数据库是否支持,而阿福,最近 ...

  2. oracle一个表更新另一个表多列,oracle sql更新表中多列值,值是从其它表中查询(select)得出...

    案例描述:sql 将表vehicle中列pay_money_remain的值分为2/3,1/3再更新到表vehicle的pay_money_remain,disinfectionbal_remains ...

  3. unity案例 mysql lua_通过Xlua实现unity热更新的一个小例子

    通过Xlua实现unity热更新的一个小例子 一.介绍 ​ 热更新是指在更新游戏资源或者逻辑的时候不需要开发者将游戏再打包.发布.玩家重新下载安装包,而是可以通过将需要更新的资源打包成AssetBun ...

  4. C# 实现 rtc_通过Xlua实现unity热更新的一个小例子

    通过Xlua实现unity热更新的一个小例子 一.介绍 ​ 热更新是指在更新游戏资源或者逻辑的时候不需要开发者将游戏再打包.发布.玩家重新下载安装包,而是可以通过将需要更新的资源打包成AssetBun ...

  5. mysql div 没有小数,mysql order by limit 的一个坑

    mysql order by limit 的一个坑 分页查询的时候遇到的坑: 发现的问题: 对单个无索引的字段进行排序后limit .发现当被排序字段有相同值时并且在limit范围内,取的值并不是正常 ...

  6. mySQL:两表更新(用一个表更新另一个表)的SQL语句

    用一个表中的字段去更新另外一个表中的字段, MySQL 中有相应的 update 语句来支持,不过这个 update 语法有些特殊.看一个例子就明白了. create table student (s ...

  7. python封装一个效率极高的 批量更新、插入合一的工具

    我在写爬虫的时候,经常会获取大量的数据.这个时候大量数据的数据库操作如果不做一定的优化的话,将会耗费大量的时间.通过实践我发现,批量的数据操作将会极大的提高数据库操作的效率.同时,很多时候存在数据如果 ...

  8. mysql ddl crash,MySQL5.6 crash-safe replication一个坑

    题图:<唐伯虎点秋香> 版本背景 1)操作系统 cat /proc/versionLinux version 2.6.32-696.el6.x86_64 (mockbuild@c1bm.r ...

  9. 如何更新mysql数据库字段_如何使用MySQL一个表中的字段更新另一个表中字段

    1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 update ...

最新文章

  1. Python当前进程信息 (os包)
  2. mAP@0.5 与 mAP@0.5:0.95 是什么意思,YOLOv5
  3. DDL与DML的区别
  4. mysql的含义及特点_MySQL——基本概念
  5. 9 SD配置-企业结构-分配-给公司代码分配销售组织
  6. php小猫咪图床源码V1.8
  7. .netcore 判断是否 ajax 请求_第3部分-异步使用2-2:Ajax 之 状态码
  8. sqlserver 建表语句
  9. 推荐算法架构1:召回
  10. 线性回归实现人脸识别——ORL数据集
  11. Dukto-R6超级实用的免费跨平台局域网文件/文件夹传输工具
  12. VBR、ABR、CBR三种编码方式
  13. luogu P5867 【[SEERC2018]Fishermen】
  14. 使用关键词快速搜索商品代码
  15. case when 多条件查询
  16. Linux命令分隔符
  17. 建网站论坛需要多大服务器,论坛搭建如何选择服务器
  18. NLP词性分析,实体分析,句法树构造(依存句法树分析)
  19. 几种数据规整的方法总结
  20. 苹果Mac怎样让输入法实现自动切换?

热门文章

  1. while语法php格式,PHP While 循环
  2. 继承(继承父类,super)
  3. 调整latex表格_选择LaTeX还是Word的建议
  4. zbrush缝线笔刷制作_Thepoly | 高质量写实人脸制作及实时渲染分享
  5. html怎样调取css,css怎么调用?
  6. 【剑指offer - C++/Java】14、链表中倒数第k的节点
  7. 2019CCPC湖南全国邀请赛-Chika and Friendly Pairs- 莫队+树状数组+离散化
  8. 调试nodejs项目接口,使用Posman,用req.body拿不到数据
  9. java程序员经常使用的Intellij Idea插件
  10. 从使用到原理学习Java线程池