根据mySQL Docs,int(signed)的数据类型的范围是-2147483648到2147483647.当我使用phpMyAdmin创建一个表,并导出表结构时,它显示以下内容:
`unit_id` int(11) NOT NULL
为什么(11)?不int
告诉mySQL它需要知道的一切吗?
答案 0 :(得分:17)
这是可选的'width'属性,应用程序可以使用它来显示值。
MySQL支持扩展,可选择指定显示 base关键字后括号中的整数数据类型的宽度 对于类型。例如,
INT(4)
指定带有显示的INT
宽度为四位数。可选的显示宽度可以使用 应用程序显示宽度小于的宽度值 通过用空格左边填充为列指定的宽度。 (那 是,此宽度存在于结果集返回的元数据中。 是否使用取决于应用程序。)显示宽度不约束可以的值范围 存储在列中。它也不会阻止比列宽的值 正确显示显示宽度。例如,一列 指定为
SMALLINT(3)
的-32768
范围通常为SMALLINT
32767
,以及三位数允许范围之外的值 使用三位数以上完整显示。
答案 1 :(得分:5)
设置结果集返回的显示宽度。它与存储容量无关。