数据库异常——超出列范围

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库异常——超出列范围相关的知识,希望对你有一定的参考价值。

最近遇到的一个坑,我开发的项目竟然遇到了字符串过长的坑,先看下日志

9/19/2019 5:27:35 org.springframework.beans.BeanInstantiationException: Failed to instantiate : Constructor threw exception; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute query; SQL [select business0_.id as id119, business0_.b_id as b_id219, business0_.branch as branch319, business0_.description as descript419, business0_.jhi_level as jhi_leve519, business0_.name as name619, business0_.parent_id as parent_i819, business0_.tag as tag719 from business business0_]; nested exception is org.hibernate.exception.DataException: could not execute query
9/19/2019 5:27:35 PMCaused by: java.sql.SQLException: Out of range value for column ‘parent_i819‘ : value
9/19/2019 5:27:35 PM at org.mariadb.jdbc.internal.com.read.resultset.rowprotocol.TextRowProtocol.getInternalLong(TextRowProtocol.java:312)
9/19/2019 5:27:35 PM at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet.getLong(SelectResultSet.java:1004)
9/19/2019 5:27:35 PM at org.mariadb.jdbc.internal.com.read.resultset.SelectResultSet.getLong(SelectResultSet.java:996)
9/19/2019 5:27:35 PM at com.alibaba.druid.filter.FilterChainImpl.resultSet_getLong(FilterChainImpl.java:1184)
9/19/2019 5:27:35 PM at com.alibaba.druid.filter.FilterAdapter.resultSet_getLong(FilterAdapter.java:1655)
9/19/2019 5:27:35 PM at com.alibaba.druid.filter.FilterChainImpl.resultSet_getLong(FilterChainImpl.java:1180)
9/19/2019 5:27:35 PM at com.alibaba.druid.filter.FilterAdapter.resultSet_getLong(FilterAdapter.java:1655)
9/19/2019 5:27:35 PM at com.alibaba.druid.filter.FilterChainImpl.resultSet_getLong(FilterChainImpl.java:1180)
9/19/2019 5:27:35 PM at org.hibernate.loader.Loader.getRow(Loader.java:1562)
9/19/2019 5:27:35 PM at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:732)
9/19/2019 5:27:35 PM at org.hibernate.loader.Loader.proce***esultSet(Loader.java:991)
9/19/2019 5:27:35 PM at org.hibernate.loader.Loader.doQuery(Loader.java:949)
9/19/2019 5:27:35 PM at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
9/19/2019 5:27:35 PM at org.hibernate.loader.Loader.doList(Loader.java:2692)

日志中说到数据库值过大,看的我一愣一愣的,什么鬼!一个id居然过大??明明记得我在数据库设置的字符长度为512啊!不管了,面向谷歌运维

以上是关于数据库异常——超出列范围的主要内容,如果未能解决你的问题,请参考以下文章

C# -Task.Run() 中线程池中的索引超出范围异常

UCanAccess 数据异常:数值超出范围

我想异常处理“列表索引超出范围”。

ItemtouchHelper导致索引超出范围异常

列 Oracle 到 MySQL 的值超出范围

将 char 数据类型转换为 datetime 数据类型会导致 datetime 值超出范围。异常