问题:INT(M)中M究竟有何用?
思考: int类型占四个字节,一个字节8比特位,也就是4*8=32比特位,可以表示的数字个数是2的32次方个(2^32)。声明一个int类型的数据,长度便已经固定,那么这个M究竟有何用?
测试:我们借助工具Navicat for MySQL,定义一个int型的ID,长度为1,设置默认值为11
发现这个长度并不影响保存数据长度,我们接着定义长度为11
好像对值也没有什么影响,那么这个长度究竟有何用呢,让我们再看:
当我们勾选填充零以后,值终于发生了变化,重这里我们可以看出,这个长度值显示有了变化,只是显示长度有了变化。
测试结果已经结论:INT(M)中的M与数据存储长度没有关系,只是标识数据显示长度,在显示是 不足无数会自动填充0进行补齐。