mysql int(1) 和 int(10) 和 int(11)区别

mysql int(1) 和 int(10) 和 int(11)区别

CREATE TABLE IF NOT EXISTS `test2` (

`t1` int(5) NOT NULL,

`t2` int(11) unsigned zerofill NOT NULL,

`t3` int(11) unsigned NOT NULL,

`t4` int(11) zerofill NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE = utf8_unicode_ci;
本质上没有区别

int后面的长度表示为显示长度,当然,你的数据如果大于了显示的长度,mysql不可能把你数据给截取,所以这就是为什么设置了int(1)可是还能存较大数的原因。

int类型取值范围-2147493648 到 2147493647,这个时候需要11位,如果设置了unsigned无符号,这个时候能存储范围为0-4294967295 ,这个时候需要10位,所以在建表的时候int(10) 和int(11) 可以用来当作语意来使用。

设置zerofill填充0的时候,默认会设置unsigned无符号,这个时候int后面的长度将起到效果,比如设置int(4) 存入数据3 ,显示0003。

总结:

int后面的长度为显示长度,用的最多的是配合zerofill来填充0.

posted @   java架构师1  阅读(216)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示