mysql中int(11)与int(1)的区别与联系

说明:

一开始认为 int11与varchar(11)的表现相同。
其实int(11)和int(1)对于mysql数据存储是一样的。
int(11)在这里不是存储了11位,而是在数据库连接工具上显示的宽度为11位,不足补零

验证:

1. int(11)存储12位是否可行?

尝试存储123456789012这样一个12位的数据
在这里插入图片描述
这种结果可能给我们误导:12位的数据存不进int(11)的数据里,其实是12位的数据存不进int类型的数据,即int(13)也无法存上面的数据
在这里插入图片描述

2. int(11)如何显示出补0的数据?

alter table file_info_copy add COLUMN test_int  int(11)  ZEROFILL

ZEROFILL是补零的设置项,请勾选上
在这里插入图片描述
假设我们对于int(11)的填充0 类型只存1
在这里插入图片描述
注意:在Navicat工具上看不到补0,大概率是Navicat工具自己做了处理【这种处理方式很多,类似的比如乱码的显示,Navicat也会处理】。我们采用workbench查看同一条数据。
在这里插入图片描述
如上图,补0出现

建议

如果是数字类型,如文章类型,流转状态,或者性别这种确定范围的数据,可以采用tinyint类型,如果数据较大,而且可能一直增加,建议采用bigInt类型,其他的数据可以从smallint----int酌情选择

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值