也就是抛出 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了)。因此在此做个笔记,以防以后继续犯类似思维错误。
mssql数据库冗余异常的原因是数据合并了。根据查询相关公开信息显示,对于数据M:N的关系,不能将M一边或N一边合并到另一边去,这样会导致不符合范式要求,同时导致 *** 作异常和数据冗余。java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Column index 0 is out of range.从这个可以看出:
java.sql.SQLException :SQL的错误
Column index 0 is out of range. : 下标越界。
学会看问题的错误提示
四楼说出正解了,不再多说了。
祝你编程之路走好!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)