2016-07-26 120 views
1

在MySQL中运行一组插入语句时,我总是收到Error Code: 1264. Out of range value for column 'x' at row 1。列类型设置为float(10, 10),列范围内的值范围为23.912 to 26.458,这些值在范围内。我完全不知道为什么我收到这个错误。奇怪的1264超出范围错误

回答

4

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) 
+0

这使得更多的意义。我不明白左手限制是小数右和左边的数字总和,而右手限制只是小数点。谢谢! – ThoseKind

0

对于你的价值23.912 to 26.458,float(10, 10)不能工作。 说明: -

在浮法第10说,你可以在此字段中输入10位和第2个10表示10位后(.)

所以在这个字段,你可以插入: -

0.111111111 
. 
. 
. 
0.999999999 

但你不能: -

1.111111111 
. 
. 
. 
. 
. 
111111111.1