2016-07-26 8 views
1

MySQLでinsert文のセットを実行すると、私はError Code: 1264. Out of range value for column 'x' at row 1を得続けます。列のタイプはfloat(10, 10)に設定され、範囲内の十分な範囲の列の値は23.912 to 26.458です。私はなぜこのエラーを受け取っているのか全く分かりません。Strange 1264範囲外エラー

答えて

4

float(10,10)は、小数点以下10桁を格納し、整数コンポーネントにはスペースが残らないことを意味します。それは10の小数点以下の桁数だから

0.1234567890は、有効であるだろうが、あなたはそれがfloat(total digits, decimal places)だし、合計ではなく、integer places, decimal placesある1.

のための任意のスペースを残していなかったので1.234567890は、ではありません。自分の価値観23.912 to 26.458については

123.456789 = 9 digits total, 6 for decimals -> float(9, 6) 
+0

これはもっと意味があります。私は左手の限界が小数点の右と左の桁の和であるのに対し、右の限界は小数点以下の桁であることを理解していませんでした。ありがとう! – ThoseKind

0

float(10, 10)が動作することはできません。 説明: -

フロートに10最初は、あなたがこのフィールドに10桁を入力することができます第二10が言う言う10桁、これはあなたが挿入できるフィールドでそう(.)

後: -

0.111111111 
. 
. 
. 
0.999999999 

しかし、あなたはできません: -

1.111111111 
. 
. 
. 
. 
. 
111111111.1 
関連する問題