MySQL- Out of range value for column 'bills_amount'
这个问题爆出来第一感觉就是数值大小大于数据库定义变量的最大存储值。
问题描述:
从"A"表获取amount 字段塞入"B"表bills_amount 字段,但是塞入时报如下异常信息:
1、Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'bills_amount' at row 17
2、Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'bills_amount' at row 17
这个错误看着是大于最大值范围,但是确认后发现没达到最大值
amount:bigint
bills_amount:bigint(11) unsigned
发现两个区别,一个是有符号,一个是无符号,有符号的能存储负数而无符号的不能存储负数所以在无符号字段存入负数报一个Out of range value 的异常。
本文探讨了在MySQL中从一张表的amount字段向另一张表的bills_amount字段迁移数据时遇到的Outofrangevalue异常。尽管数值未超过bigint类型的上限,但由于目标字段为无符号类型,尝试插入负数导致异常。文章深入解析了有符号与无符号bigint的区别,以及如何避免此类错误。
5550

被折叠的 条评论
为什么被折叠?



