int(1)和int(20)实际上的区别是没区别。
代码说话:
注意列int1和int2的长度都为3
CREATE TABLE `myIest`(
`id` INT(11) DEFAULT NULL,
`int1` int(3) DEFAULT NULL,
`int2` int(3) DEFAULT NULL,
`c1` VARCHAR(10) DEFAULT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
并向其中插入超过3位数的数值
insert into `myIest`(
`int1`,`int2`)values
(10000, 100000);
查询select * from myIest
如下:
可见,int后面跟的数值并没有限制显示的结果,实在会影响的是字段后面加了 ZEROFILL。
创建一个长度都为3的表
CREATE TABLE `myIest`(
`id` INT(11) DEFAULT NULL,
`int1` int(3) DEFAULT NULL,
`int2` int(3) ZEROFILL DEFAULT NULL,
`c1` VARCHAR(10) DEFAULT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
向其中插入两位数的数值
insert into `myIest`(
`int1`,`int2`)values
(10, 10);
查询select * from myIest
如下: