同样建表语句,大整型数字在Oracle插入成功,在YashanDB插入失败
问题现象
在YashanDB上执行Oracle同样的建表语句,插入同样的数据,包含大的整型数字,在Oracle执行成功,在YashanDB执行失败,报错SQL错误 [13] [22000]: [line: 0 column: 0] YAS-00013 value is larger than INTEGER allowed,是怎么回事?
问题的风险及影响
大整型数字插入
问题影响的版本
YashanDB版本:所有版本
解决方法及规避方式
1、原因核查
正常int类型取值范围是-231 (-2,147,483,648) ~ 231 - 1 (2,147,483,647)
YashanDB的设计规格是符合此常规的:
问题中的整型数字有16位,已经远超了int类型的最大值。核查Oracle中表的定义,发现实际建表语句发生变更:
核查Oracle资料,可知在Oracle数据库中,整数类型通常使用的数据类型是NUMBER,INT不是Oracle的标准数据类型,有些开发工具会将其映射为NUMBER。
2、解决方法
修改字段为Number或Bigint
ꄘ浏览量:0
友情链接:深圳计算科学研究院 深圳崖山科技有限公司
版权所有© 深圳崖山科技有限公司 粤ICP备2022018810号
公众号
加入技术交流群
YashanDB
崖山数据库系统YashanDB是深圳计算科学研究院自主设计研发的新型数据库管理系统,融入原创的有界计算、近似计算、并行可扩展和跨模融合计算理论,可满足金融、政企、能源等关键行业对高性能、高并发及高安全性的要求。
邮箱:info@yashandb.com
地址:广东省深圳市龙华区民宝路红山6979园区25座5-10层