数据库查询异常处理

今天晚上运营同事反馈了系统有个列表数据查询不出来,筛选某个条件又能查出数据来。当运营反馈时,立马收到线上报警邮件提示如下:


图1


图2

也就是抛出 MySQLDataException异常,由于定性思维的原因,一直在排查sql问题,不断尝试替换某个字段的数据拼接查询,最终还是失败了。由于经验较少,不断尝试column '15'这一列,心想没有15这个字段呀(思维方向错误了)。导致问题排查了两个小时;最后联想到INTEGER类型出错,干脆就直接查找mode里的对象与sql查询查询出来的字段作比较,最终发现其实是某个字段数据值长度突然大增(部门其他同事对接大厂时,修改了字段长度,然后我们这边的系统无意识到字段长度,还是使用Integer类型,最终导致异常出现),修改成long类型后解决,但这种修改方法也会随着时间问题变成一个坑。

总结今晚遇到的问题,就是以前菜的坑太少了,导致问题定位错误。错误日志:'1.00000539598E11' in column '15' is outside valid range for the datatype INTEGER翻译过来也就是“15”列中的“1.00000539598E11”超出了数据类型整数的有效范围。不是15那个字段,而是第15列(MB   太SB了)。因此在此做个笔记,以防以后继续犯类似思维错误。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容