2016-07-26 6 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 자리를 저장한다는 의미입니다. 즉 10 소수점 이하 자릿수하지만 1.234567890이 없기 때문에 당신은 그것은 float(total digits, decimal places), 그리고 합하지 integer places, decimal places1.

에 대한 어떤 공간을 남겨하지 않았기 때문에

0.1234567890

는 유효 할 것이다. 당신의 가치 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