结论:
int(N):
N 表示最大显示宽度,不指定N时,默认为11。
N 的值跟 int(N) 所占空间或最大长度没有关系,均占用 4 btyes 的存储空间。
可以通过字段设置zerofill属性时,用dos窗口能看出区别,但navicat看不出来,如果实际插入的数据宽度小于字段设置的显示宽度N时,将自动在数字前填充0。同时,如果插入的数据宽度大于设置的显示宽度N时,不会出现数据无法插入或数据被截断的情况
总之一句话如果不设置zerofill,可以不用设置
char(N)
varchar(N)
详细分析
int(N)
先创建表
create table tb1 (id1 int(1) zerofill,id2 int(5) zerofill);