首页 新闻 会员 周边

MySQL数据类型int(4)的长度4究竟有什么意义

0
[待解决问题]
  • 一个int类型占用4字节是固定的,但是MySQL里的长度设置有什么意义?
  • 网上都说是会补0,但是我试了试也没看见补0,那他的补0是啥意思
  • 官方手册似乎没有提到这个问题,翻了好久并没有看到解释
遗失的美好灬的主页 遗失的美好灬 | 菜鸟二级 | 园豆:228
提问于:2020-08-20 19:10
< >
分享
所有回答(5)
1

他的补0是在存储的时候补,咱看不到,而且设置长度是为了管理那些固定长度的,比如char型默认长度是255,但是你所存储的数据只需要10个字符,如果不指定,资源就浪费了

乾子 | 园豆:347 (菜鸟二级) | 2020-08-20 20:17
1

https://dev.mysql.com/doc/refman/5.7/en/numeric-type-attributes.html
int(n) 中的n 是 display width
Whether it is used is up to the application

通信的搞程序 | 园豆:1747 (小虾三级) | 2020-08-20 20:27
1

4是指4个字节,并不是你看到的4位。二十内部存储占用4字节。存储的时候前端补0,你看到的4是经过转化的。

flyfishing | 园豆:943 (小虾三级) | 2020-08-20 20:33
1

除了显示,无任何意义,相信我

会长 | 园豆:12401 (专家六级) | 2020-08-21 09:00

我现在大概明白了,必须配合zerofill使用,填充0

支持(1) 反对(0) 遗失的美好灬 | 园豆:228 (菜鸟二级) | 2020-08-21 09:50

@遗失的美好灬: 不懂

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-08-21 09:58

@会长: zerofill属性不是填充0嘛

支持(0) 反对(0) 遗失的美好灬 | 园豆:228 (菜鸟二级) | 2020-08-21 09:59

@遗失的美好灬: 没用过,看官网文档好像是

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-08-21 10:00

@遗失的美好灬: 我就知道,设置这个长度对数据的存储毫无影响

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-08-21 10:01
1

这个数字主要对字符类型有用,对数字没意思

张麻子- | 园豆:110 (初学一级) | 2020-08-24 17:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册