본문 바로가기
IT

ORA-01438:이 열에 대해 지정된 전체 자릿수보다 큰 값이 허용됩니다.

by 롭로이 2022. 9. 19.
반응형

 

ORA-01438:이 열에 대해 지정된 전체 자릿수보다 큰 값이 허용됩니다.
ORA-01438:value larger than specified precision allowed for this column

 

 

 

입력하려는 데이터의 자릿수가 컬럼과 맞지 않기때문

예를 들어

NUMBER(3, 2)는 3자리의 전체 자릿수와 2자리의 소수점 자릿수를 의미

 - NUMBER(3,2)인 컬럼에 1000이상의 숫자를 넣는 경우

 

해결방법은 데이터를 보정하거나, 테이블 컬럼의 사이즈를 변경해야 함

NUMBER[(precision [, scale])]  scale은 소수점 자릿수를 의미 생략 시 기본값은 0

 ALTER TABLE tableName MODIFY columnName NUMBER(5, 3);

 

일반적으로는 컬럼에 더 큰 데이터가 들어가는 경우에 많이 발생하나

실제 운영중인 오래된 사이트에서 게시판글수가 5자리로 설정되어

게시글이 99999 수가 넘어가자 INSERT 오류가 발생했었음

해당 테이블 borad_id 컬럼의 사이즈 늘려서 해결함

 

 

반응형