num int(4) NOT NULL auto_increment
로 쓰면 4자리까지만 되고 뒤에 어떻게 될까 테스트를 해봤는데...
계속 자리수가 늘어나네요.. ^^;;;
5자리가 넘어도 계속 값이 들어가는데...
도데체 이넘의 최대치는 얼마죠???
무한대인가요???
그렇다면 int(4) 입력해줄 필요가 없는거 아닌가요???
아시는분 답변 부탁드립니다....
그럼 좋은하루되세요~
우선 auto_increment 의 최대값은 해당 컬럼의 자료형의 최대값이 되겟지요...각 자료형의 크기는 메널을 참조 하시고요...
MySQL에서 INT 형에 대한 옵션은 데이터의 크기를 뜻하는게 아닙니다. (사실 별 쓰잘떼기 없는듯 합니다만...)
Int (M) 여기서 M 은 출력될 자릿수를 지정하는데 (메널에는 그렇게 써있습니다만...) 얘 혼자만 하면 안되더군요 zerofill 과 같이 사용해야 됩니다.
다음 예를 보시면 이해가 가실껍니다. 그리고 int 형에 대해서는 지정해주지 않아도 상관없습니다. 기본적으로 11자리로 지정될것입니다.
mysql> create table tbltest (c1 int, c2 int(2), c3 int(4) zerofill);
Query OK, 0 rows affected (0.09 sec)
mysql> insert into tbltest values (1,1,1);
Query OK, 1 row affected (0.03 sec)
mysql> select * from tbltest;
+------+------+------+
| c1 | c2 | c3 |
| 1 | 1 | 0001 |
1 row in set (0.00 sec)
mysql> insert into tbltest values (10,10,10);
mysql> insert into tbltest values (100,100,100);
Query OK, 1 row affected (0.02 sec)
mysql> insert into tbltest values (1000,1000,1000);
Query OK, 1 row affected (0.01 sec)
| 10 | 10 | 0010 |
| 100 | 100 | 0100 |
| 1000 | 1000 | 1000 |
4 rows in set (0.00 sec)
mysql> insert into tbltest values (10000,10000,10000);
+-------+-------+-------+
| 10000 | 10000 | 10000 |
5 rows in set (0.00 sec)
단 int 형에 대해서만 이며..zerofill 옵션은 SQL 질의 툴마다 다르게 결과를 보일수 있습니다. zerofill 옵션은 해당 컬럼이 다른것과 결합될때 적용된다고 합니다.