如果你认为括号内n指定了数值的大小,那就错啦!
括号内的n表示的是显示宽度,一般与zerofill配合使用。
请看下例:
- 一般我们都不会在建表时指定zerofill的,所以看起来是没有差别的。
- 但是如果你在字段上指定zerofill,就会发现显示时,如果长度不够会自动在数值前填充“0”了
- 如果数值的范围大于括号内的n表示范围,则会显示正确的值,此时zerofill相当于无效了。
总结:
- MySQL中整数类型中的int(n),指定的是显示宽度,并且要与zerofill配合使用才会生效。
- 如果数值的范围超过了n的表示范围,则zerofill相当于不生效
- 括号内的n不会限制数据类型的范围,如果需要指定数值的范围,请切换数值类型,MySQL中的数值类型有以下几类