在建立MySQL的主键时,我们一般都会采用int类型自增作为主键id
现在抛出一个问题,int(3)和int(10)的区别在哪里?
难道是前者存3位,后者存10位?
大错特错!
在数据库中这两个属性的定义都是最多存10位数
int(n)中这个n无论写成多少都是占4个字节的空间,最多能存10位数。n不是代表能存几位数,只是表示最大显示宽度而已。
举个例子int(3)和int(10)这两个属性,分别存一个数据10010
两者在数据库中都是显示10010
这,又是一个问题,“区别在哪里?”
所以这就需要加入一个属性zerofill,这是代表将数字补全的意思
现在显示就会有区别了
前者显示依旧是10010
后者显示的是0000010010
很明显10个最长显示宽度和补全这两个功能将int(10)里面的前5位都补上了0。