为什么SequelPro建表时INT类型默认显示长度为11?
核心原因
SequelPro把INT的默认显示宽度设为11,是完全适配有符号INT的最大字符长度的通用默认配置:
- 有符号INT的取值范围是
-2147483648~2147483647,其中最小值-2147483648包含负号在内一共是11位字符 - 这个长度可以完整展示所有有符号INT的取值,开启
zerofill时也不会出现补0后长度不够截断的情况,是多数MySQL管理工具都会采用的通用默认值
补充说明
你示例中用到的是unsigned无符号INT,它的取值范围是0 ~ 4294967295,最大长度只有10位,你可以手动把显示宽度改成10,也可以保留默认的11,只要你没开启zerofill属性,这个数值不会对字段的存储、查询产生任何实际影响。
附你给出的建表语句示例:
CREATE TABLE `tbl` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

