外观
int(9) 中 9 的涵义
在 MySQL
数据库里,int (9)
中的 9
表示的是显示宽度。
- 与 ZEROFILL 配合使用:当列定义为
INT (9) ZEROFILL
时,如果存储的值不足9
位,MySQL
会在数字的左侧填充零,以达到9
位的显示宽度。例如,存储值123
会显示为000000123
。 - 不使用 ZEROFILL 时:若没有使用
ZEROFILL
属性,数字将按原样显示,9
这个显示宽度不会产生实际效果,即不会对存储和显示进行额外处理。 - 与存储范围无关:INT 类型在 MySQL 中始终占用
4
个字节,存储范围是固定的,有符号的范围是- 2147483648
到2147483647
,无符号的范围是0
到4294967295
,不会因为9
而改变存储范围,就算int
超出了9
位但在int
的范围内,那么int
会正常显示,如100000000
为10
位,会按其实际长度显示,而不是被截断(不管有没有ZEROFILL
)。