插入数据库 出现 Data truncation: Out of range value adjusted for column 'id'....的问题

昨天一张MYSQL表里id设置一个bigint类型20位的主键,以便存储一个crc64(自己的20位int)的结果,但是这时候出现了一个问题

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value adjusted for column 'id' at row 1

表面上看好像是长度太长,当我减少一位生成的crc后也确实可以插入表里,但是我设置的就是20位的bigint啊,为什么会出现这个情况?

错误的原因:不是因为数据太长,而是因为在数据库中设置的类型是unsigned无符号类型的。(具体原因:无符号整型和有符号整型的区别就是无符号类型可以存放的正数范围比有符号整型中的范围大一倍,因为有符号类型将最高位储存符号,而无符号类型全都储存数字。)

嗯,就是这样!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值