programing

mysql의 INT(5)는 무엇을 의미합니까?

elecom 2023. 8. 16. 21:56
반응형

mysql의 INT(5)는 무엇을 의미합니까?

저는 INT(5)가 최대 크기가 5자리인 숫자를 의미한다고 항상 생각했습니다.그 안에 큰 숫자를 입력하려고 했는데 어떻게든 2147483647로 줄었습니다.

이것은 분명히 5자리 숫자가 아닙니다.그렇다면 INT(5)의 한계는 무엇입니까?

MySQL 문서에서 숫자 유형 속성

MySQL은 형식에 대한 기본 키워드 뒤에 괄호 안에 정수 데이터 형식의 표시 너비를 선택적으로 지정하는 확장을 지원합니다.예를 들어 INT(4)표시 너비가 4자리인 INT를 지정합니다.이 선택적 표시 너비는 응용 프로그램에서에 지정된 너비보다 작은 너비를 가진 정수 값을 공백으로 왼쪽 패딩하여 표시하는 데 사용할 수 있습니다.즉, 이 너비는 결과 집합과 함께 반환되는 메타데이터에 있습니다.사용 여부는 신청에 달려 있습니다.)

INT폭은 항상 4바이트입니다.5는 "디스플레이 폭"입니다.

MySQL에서 INT(5)는 값이 5자로 제한된다는 것을 의미하지 않습니다.이는 MySQL이 값을 반환할 때 공백/제로로 패딩을 시도한다는 것을 의미합니다.

INT(10), INT(5) 또는 기타 INT(n)를 포함한 서명된 INT의 숫자 범위는 -2,147,483,648 ... 2,147,483,647이며, 최대 10자리입니다.

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

"M은 정수 유형의 최대 디스플레이 폭을 나타냅니다.최대 합법적인 표시 너비는 255입니다.표시 너비는 섹션 10.2 "숫자 유형"에서 설명한 대로 유형이 포함할 수 있는 값 범위와 관련이 없습니다.

https://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/
M은 정수 유형의 최대 표시 너비를 나타냅니다.부동 소수점 및 고정 소수점 유형의 경우 M은 저장할 수 있는 총 자릿수입니다.문자열 유형의 경우 M은 최대 길이입니다.M의 최대 허용 값은 데이터 유형에 따라 다릅니다.

int는 -2147483648에서 2147483647 사이의 서명 또는 0에서 4294967295 사이의 서명일 수 있습니다.

그렇기 때문에 서명된 값으로 더 큰 숫자를 입력하면 해당 숫자로 줄였습니다.

MySQL에서 int(N)가 무엇을 의미하는지에 대한 매우 일반적인 오해는 열이 N자리 길이의 최대 정수 값을 저장할 수 있다는 것입니다.그러나 이것은 사실이 아닙니다. int(N)은 열에 저장할 수 있는 최대값을 결정하지 않습니다.숫자가 저장할 수 있는 문자 수를 의미하는 문자 열과 달리, N은 정수 열의 표시 너비입니다.

괄호 안의 숫자는 정수 필드에 저장할 수 있는 최대값과 최소값을 결정하지 않습니다.저장할 수 있는 최대값과 최소값은 항상 고정됩니다.다음 표에서는 각 정수 유형에 필요한 저장소 및 범위를 보여 줍니다.

언급URL : https://stackoverflow.com/questions/8892341/what-does-int5-in-mysql-mean

반응형