java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > 踩坑批量更新sql报错,实际sql能够正常执行

踩坑批量更新sql报错,实际sql能够正常执行的问题

作者:Baichi_00

在项目工程迁移过程中,遇到了一个批量更新接口在新工程中报错的问题,通过分析,排除了代码错误的可能,最终发现是由于数据库连接配置不当导致的,在jdbc连接字符串中加入allowMultiQueries=true参数后,问题得以解决,这个参数的作用是允许SQL批量执行

踩坑描述

项目工程迁移之后,新工程与老工程的代码一样,其中一个批量更新的接口在之前老工程上稳定运行,但是迁移之后上线的新工程却报错了

报错信息日志如下:

报错日志

分析原因

1、看见此报错

第一反应是批量更新的代码写错了,仔细检查并未发现问题

代码截图

sql截图

2、将报错日志中的SQL复制下来

看是否能够执行成功,结果很奇怪,竟然执行成功了

sql截图

3、此时陷入了沉思

代码没问题啊,为啥报错信息为sql错了呢?

只有换一个思路来思考了,从项目代码环境去思考,于是检查了数据库版本,数据库连接配置等。

解决方案

在配置文件中的jdbc连接信息加上allowMultiQueries=true配置,其作用是允许sql批量执行处理,可以在sql语句后携带分号,实现多语句执行。

反思总结

真坑爹啊,一个思路行不通,就换一个思路,既然代码没问题,那就从其他层面思考,不要只顾着检查代码是否正确,从而浪费了大量排查问题的时间~~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文