总结:
- 不管int(3),还是int(11), 整型能存放的值的大小是固定的
- (3),(11)在指定zerofill的时候才有用
- zerofill填充在navicat中是看不出来效果的,要在命令行里才能看出来
DROP table if EXISTS `t`;
create table t (t1 int(33) ZEROFILL , t2 VARCHAR(1));
insert into t set t1 = 42949672961,t2='11111';
DESC t;
SELECT * from t;
以上转载自 http://hi.baidu.com/nancy0754/blog/item/2f3ea13a957a27d7d5622535
1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是
-128到127
1.BIT[M]
位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1
2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]
很小的整数。带符号的范围是-128到127。无符号的范围是0到255。
3. BOOL,BOOLEAN
是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。
4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6
小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。
5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9
中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
6. INT[(M)] [UNSIGNED] [ZEROFILL]
普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20
大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。