【发布时间】:2016-11-30 08:31:25
【问题描述】:
在 MySQL 中运行一组插入语句时,我不断收到Error Code: 1264. Out of range value for column 'x' at row 1。列类型设置为float(10, 10),列中的值范围为23.912 to 26.458,均在界限内。我完全不知道为什么会收到此错误。
【问题讨论】:
在 MySQL 中运行一组插入语句时,我不断收到Error Code: 1264. Out of range value for column 'x' at row 1。列类型设置为float(10, 10),列中的值范围为23.912 to 26.458,均在界限内。我完全不知道为什么会收到此错误。
【问题讨论】:
float(10,10) 表示存储 10 位小数,整数部分没有空间。
0.1234567890 是有效的,因为这是小数点后 10 位,但 1.234567890 不是,因为您没有为 1. 留下任何空间
它是float(total digits, decimal places),是一个和,而不是integer places, decimal places。
123.456789 = 9 digits total, 6 for decimals -> float(9, 6)
【讨论】:
对于您的值23.912 to 26.458,float(10, 10) 不起作用。
说明:-
在浮点数中,第一个 10 表示您可以在此字段中输入 10 位,第二个 10 表示 (.) 之后的 10 位
所以你可以在这个字段中插入:-
0.111111111
.
.
.
0.999999999
但你不能:-
1.111111111
.
.
.
.
.
111111111.1
【讨论】: