建表的时候经常指定int(2),int(10),又不知道什么意思,今儿总结一下:
int(n)括号里面的数字表示显示宽度,不是代表能存放多少位数,始终占用4个字节的空间,举个例子。
desc t3;
±------±--------------------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±------±--------------------------±-----±----±--------±------+
| id | int(4) unsigned zerofill | YES | | NULL | |
| num | int(10) unsigned zerofill | YES | | NULL | |
±------±--------------------------±-----±----±--------±------+
insert into t3 select 1,2;
select *from t3;
±-----±-----------+
| id | num |
±-----±-----------+
| 0001 | 0000000002 |
±-----±-----------+
1 row in set (0.00 sec)
可见int(n)表示宽度。