MYSQL 中的 int(11) 到底代表什么意思?

Posted 山水一程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL 中的 int(11) 到底代表什么意思?相关的知识,希望对你有一定的参考价值。

  • 各 INT 类型无符号最大值用单位表示:
INT 类型 无符号最大值用单位表示
TINYINT 255
SMALLINT 65535
MEDIUMINT 1677 万
INT 42 亿
BIGINT 1844 亿亿,18446兆(一万亿等于一兆,亿亿就是:十兆;)
  • int(11) 的含义:
  1. 11 代表的并不是长度,而是字符的显示宽度
  2. 在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的
  3. 如果没有 ZEROFILL 属性,括号内 int(11) 这个11的数字是毫无意义;比如:INT(4) UNSIGNED ZEROFILL,数据库内部存储是10001只是设置了ZEROFILL属性的一种格式化输出而已(出处:https://www.cnblogs.com/olinux/p/5180543.html)
  4. 推荐自增主键使用 INT UNSIGNED 类型,不建议使用 BIGINT

当int字段类型设置为无符号填充零(UNSIGNED ZEROFILL)时,当数值位数未达到设置的显示宽度时,会在数值前面补充零直到满足设定的显示宽度,为什么会有无符号的限制呢,是因为ZEROFILL属性会隐式地将数值转为无符号型,因此不能存储负的数值。
注意:如果用navicate软件查询出来并不会显示左边的0,但把数据导出时可看到真实的数据,猜测是软件对数据格式进行了处理

  1. 补零“流水号”的生成
  2. 月份或日期前补0

引用:https://segmentfault.com/a/1190000012479448

以上是关于MYSQL 中的 int(11) 到底代表什么意思?的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL 中的 int(11) 到底代表什么意思?

mysqlint类型的长度值mysql在建表的时候int类型后的长度代表什么

mysql中的varchar(10)和 int(11)是什么意思?

关于mysql中int中int后面的数字(转发)

int(11)中的11是什么意思

mysql 中的 int(n)