2014-02-25 2 views
2

나는 서명 된 데이터 유형이 음수이고 양수가 아니며 AND 부호가없는 정수가 양의 정수만 보유하고 있음을 알고 있습니다.bigint와 bigint (20) 사이의 mysql 차이점

하지만이 둘의 차이점은 무엇입니까?

bigint unsigned AND bigint(20) unsigned

답변

5

BIGINT UNSIGNED는 8 바이트의 부호없는 정수이다.

BIGINT (20)의 20은 거의 의미가 없습니다. 디스플레이 너비에 대한 힌트 일 뿐이며 저장 장치와는 아무런 관련이 없습니다. MySQL의 사용자가 BIGINT (20)를 참조하고 크기 제한의 가정에 대한

CREATE TABLE foo (bar INT(20) ZEROFILL); 
INSERT INTO foo (bar) VALUES (1234); 
SELECT bar from foo; 

+----------------------+ 
| bar     | 
+----------------------+ 
| 000000000000000| 
+----------------------+ 

그것은 혼란의 일반적인 소스입니다, CHAR (20)와 유사한 무언가 : 실제로, 그것은 단지 ZEROFILL 옵션에 영향을 미칩니다.