2010년 12월 25일 토요일

숫자 타입(TINYINT, SMALLINT, INT, BIGINT)의 컬럼 정의시 주의 사항

MySQL의 숫자 타입(TINYINT, SMALLINT, INT, BIGINT)의 컬럼 사용시, 
데이터 타입 뒤에 길이(정밀도)의 목적으로 "(N)"를 표기하는 것은
실질적으로 기대하는 숫자 값의 정밀도나 데이터 타입의 길이를 의미하진 않는다.
Client 도구에 따라 다르지만, 단순히 보여주는 데이터의 길이만 조절할 뿐이며, 
실제 데이터베이스에 저장되는 값에는 아무런 영향을 미치지 않는다. 

MySQL에서 NUMERIC 타입을 제외한, 이와 같은 숫자 타입들은 전부 고정 길이 타입이다. 


==> 위에 명시된 숫자 타입의 컬럼을 지정시에는 길이(정밀도)의 목적으로 "(N)" 사용 자제할 것
==> 숫자 타입 컬럼의 "(N)"은 ZEROFILL과 같이 숫자값의 앞쪽에 "0"을 패딩시켜서 
    출력할 때, 몇 자리로 보여줄 지를 결정하는 옵션이다.

댓글 없음:

댓글 쓰기