2016-07-26 77 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