2011-01-09 3 views
0

두 문자는은 -1 한 문자 또는 INT 열

`publish` INT(1) NOT NULL DEFAULT '0' 

가 -9이 열에 입력, -1 수있는이 테이블을 가정?

+2

테스트 할 때 어떤 일이 발생합니까? –

+0

@Vincent StackExchange 포럼이 사람들을 게으르게 만드는 것 같습니다 (자신을 포함하여 :-) –

+0

@Vincent : 현재 mysql 데이터베이스에 액세스 할 수 없기 때문에 코드를 일부 작성해야합니다. – HyderA

답변

2

예. 특히

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

:

MySQL이 임의로베이스 다음 괄호 정수 데이터 유형의 디스플레이 폭을 지정 대한 확장을 지원 괄호 안의 숫자는 디스플레이 너비 유형에 대해 키워드 . 예를 들어 INT (4) 은 표시 너비가 인 INT를 4 자리 숫자로 지정합니다. 이 선택적인 디스플레이 너비는 너비의 칸으로 왼쪽 패딩하여 열에 지정된 너비보다 작은 너비 의 정수 값을 표시 할 때 응용 프로그램에서 사용할 수 있습니다. (즉, 이러한 폭이 애플리케이션에 달려 결과 세트로 리턴 된 메타 데이터 본 그것이 사용되는지.인지).

표시 폭은 될 수있는 값의 범위를 를 제한하지 않는다 열에 을 저장했습니다. 또한 값이 열 표시 너비가 올바르게 표시되지 않도록합니다. 예를 들어, SMALLINT (3)로 지정된 컬럼 32767 -32768 통상 SMALLINT 범위를 갖고, 전체가 개 이상의 자리를 사용하여 표시되는 세 자리 허용 범위 밖의 값.

INT 유형은 부호있는 정수와 부호없는 정수를 지원합니다.

1

예 int (1)은 -1에서 -9까지를 저장할 수 있습니다. Mysql에서 타입의 기본 키워드 뒤에 나오는 괄호는 dispayed number의 너비가 paranthesis에 지정된 것보다 작 으면 0을 채우는 용도로만 사용됩니다. 예를 들어 int (3)을 사용하면 1이 001로 표시됩니다. 숫자가 주어진 너비보다 크면 번호가 완전히 표시됩니다. 예를 들어 int (3)의 경우 1234가 완료로 표시됩니다 1234. 글꼴의 너비는 저장할 수있는 실제 범위에 영향을주지 않습니다.