MySQL:声明整数数据类型时指定大小的含义是什么?例如int(2),int(11)

时间:2015-01-23 09:14:57

标签: mysql

当我们在MySQL中声明整数字段时指定整数大小时,它的相关性是什么?

它是否会影响数据存储?

2 个答案:

答案 0 :(得分:0)

检查documentation。它解释了everything

基本上,对于整数,类型(TINYINTSMALLINT aso)确定用于存储值的字节数和它可以容纳的range of values,而大小只是告诉用于显示值的最小字符数。大小是提供信息的,它告诉默认情况下数据的格式化。

大小与ZEROFILL属性一起使用。当一个整数字段设置了这个属性时,MySQL将返回用0填充到左边的值,直到达到指定的大小。

即使文档说大小“表示整数类型的最大显示宽度”,我也找不到任何在不符合指定大小时截断该值的客户端。大小只是提示值不需要显示 size 字符,但它不强制执行任何操作。该字段可以存储并存储任何错误或警告任何符合该类型确定的范围的值。

对于其他类型(FLOATCHAR s),大小更重要,它表示storage space用于存储该类型值的数量。

答案 1 :(得分:-1)

我认为指定大小很重要,因为你会限制用户实际看到的int的宽度,因此其他剩余的宽度空间将被零填充。

两个,没有存储大小仍然是4字节。