暂无图片
decimal数据库字段类型,执行异常
我来答
分享
暂无图片 匿名用户
decimal数据库字段类型,执行异常

【 使用环境 】生产环境
【 使用版本 】4.2.0_CE
【问题描述】

d8b1edddebbf8c8c33b0107c06ee1018

d8b1edddebbf8c8c33b0107c06ee1018887×148 5.02 KB


INSERT INTO report_rate (name,match_prefix,num_length,rate,billable_unit) VALUES (‘sdfsdf’,’’,-1,1.10,5);

数据库字段如上,这条语句在dbserver工具上可以执行成功,但在控制台上执行报错:

ERROR 1264 (22003): Out of range value for column ‘rate’ at row 1【 使用环境 】生产环境

【 使用版本 】4.2.0_CE
【问题描述】

INSERT INTO report_rate (name,match_prefix,num_length,rate,billable_unit) VALUES (‘sdfsdf’,’’,-1,1.10,5);

数据库字段如上,这条语句在dbserver工具上可以执行成功,但在控制台上执行报错:

ERROR 1264 (22003): Out of range value for column ‘rate’ at row 1

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
O
OceanBase社区传送门

感觉不像是插入 1.10 这条 SQL 报的错,先看日志确认一下报错时插入的数据是不是 1.10 ?
例如我往 decimal(12, 5) 的列里插入两条数据,第一条 1234567.12345 有 12 个有效数字,插入成功了,第二条 12345678.12345 有 13 个有效数字,插入失败了,符合预期。

然后看一下 trace id,搜索一下失败的日志中显示的插入失败的数字是不是您的 1.10,比如我拿着 trace id 在日志里搜索到的插入失败的数字就是我这个有 13 位有效数字的东西,是符合预期的。



暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏