database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30232 게시물 읽기
No. 30232
각기 다른 사이즈의 integer형 필드의 최대치 입력 값 질문입니다.
작성자
김명진(bultina)
작성일
2012-03-28 14:19
조회수
8,392

 

모든 값을 int 형 사이즈에 모든 값을 대입해도[ex : int(10) ] 4byte의 unsigned 수치를 넘어가지를 못하네요.

만약에 32bit에서 integer(<=4)는 4바이트로 무조건 인식한다면 이해하겠는데 integer 5를 초과하는데도 최대 수치가 동일한 부분이 이해가 안갑니다.

아래가 입력 수치 s붙은게 signed, u가 붙은게 unsigned 입니다.

32bit os 이구요.

 

아래가  출력값과 스키마입니다.

왜그런가요?

 

mysql> select * from __test;

+-----+-------+-------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+

| idx | tniny | smint | int32s     | int32u     | int32s2    | int32u2    | int32s3    | int32u3    | int32s4    | int32u4    | int32s5    | int32u5    | int10u     |

+-----+-------+-------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+

|   1 |   127 | 32767 | 2147483647 | 4294967295 | 2147483647 | 4294967295 | 2147483647 | 4294967295 | 2147483647 | 4294967295 | 2147483647 | 4294967295 | 4294967295 |

+-----+-------+-------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+------------+

1 row in set (0.00 sec)

 

테이블 구조입니다.

mysql> desc __test;

+---------+------------------+------+-----+---------+----------------+

| Field   | Type             | Null | Key | Default | Extra          |

+---------+------------------+------+-----+---------+----------------+

| idx     | int(1)           | NO   | PRI | NULL    | auto_increment |

| tniny   | tinyint(1)       | NO   |     | 0       |                |

| smint   | smallint(1)      | NO   |     | 0       |                |

| int32s  | int(1)           | NO   |     | 0       |                |

| int32u  | int(1) unsigned  | NO   |     | 0       |                |

| int32s2 | int(2)           | NO   |     | 0       |                |

| int32u2 | int(2) unsigned  | NO   |     | 0       |                |

| int32s3 | int(3)           | NO   |     | 0       |                |

| int32u3 | int(3) unsigned  | NO   |     | 0       |                |

| int32s4 | int(4)           | NO   |     | 0       |                |

| int32u4 | int(4) unsigned  | NO   |     | 0       |                |

| int32s5 | int(5)           | NO   |     | 0       |                |

| int32u5 | int(5) unsigned  | NO   |     | 0       |                |

| int10u  | int(10) unsigned | NO   |     | 0       |                |

+---------+------------------+------+-----+---------+----------------+

이 글에 대한 댓글이 총 1건 있습니다.

  http://dev.mysql.com/doc/refman/5.5/en/integer-types.html

에서 보이는 것처럼 int와 같이 datatype을 명시하는 순간 가능한 값의 범위는 정해져 버립니다.

 

그럼 괄호는 뭐냐..

http://dev.mysql.com/doc/refman/5.5/en/numeric-type-attributes.html

에서처럼 "보여지는 폭"입니다.

우욱님이 2012-03-28 15:48에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
30235중복이름 제외한 인원알려구 하는데 [1]
김양훈
2012-04-03
7743
30234mysql daily 파티셔닝에 대해 질문드립니다.
정의진
2012-04-03
8071
30233복권 번호 불러오기 [2]
수호
2012-03-30
8551
30232각기 다른 사이즈의 integer형 필드의 최대치 입력 값 질문입니다. [1]
김명진
2012-03-28
8392
30231mysqldump 글자 깨짐현상이 일어나네요
갱이
2012-03-26
7937
30230affected_row 문의드려요 [2]
123
2012-03-26
7907
30229Datetime vs Int 속도?? [3]
지종현
2012-03-20
8192
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다