MySQL字段类型--INT

INT(5)和INT(11)的区别:

原文链接:https://blog.csdn.net/qq_29039705/article/details/80403592
在用数据库设计工具创建表的时候,可以留意到每个字段有一个 “ZF”(zerofill)属性,如下图(WorkBench):

image.png

如果我们将其勾上,插入的自增id是如下格式:


image.png

此过程中, MySQL的存储引擎InnoDB会为不足5位的id用0来补齐。
插入一个较大的id数据:

insert into ansel(id,name,age,birthday) value(1234567,'test',1,'2018*5*22 11@29@1');

展示如下:


image.png

假如创建表的时候没有设置ZF属性,可以通过sql语句修改:

alter table ansel modify id int(11) zerofill;

再查询就是如下展示结果:


image.png

三、总结:
不论是int(5)还是int(11),括号中的长度只在设置了ZF属性时有用,其他的地方没有区别.它在数据库里面存储的都是4个字节的长度,在使用int(5)的时候如果你输入的是10,会默认给你存储位00010,也就是说这个5代表的是默认的一个长度,当你不足5位时,会帮你不全,当你超过5位时,就没有任何的影响。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容