为什么int(4)类型的字段可以插入9位的数字呢?
int(n)中不论n指定为多少,范围都一样-2~31~2^31-1,都能插入9位数字。n只是用来控制显示而已,如果为int(4),插入一个1,显示时也会用空格补齐到4个字节
请问所有mysql中的数据类型中的(n)都是表示显示位数吗?
并非如此,NUMERIC(4)就限定了取值范围,超过4位就不允许写入了。因此如果你想限定数字的取值范围,最好是用NUMERIC来定义。
本文解释了MySQL中int(n)类型的实际含义及其显示特性,并对比了NUMERIC类型的使用方式与限制,指导如何合理选择数据类型。
int(n)中不论n指定为多少,范围都一样-2~31~2^31-1,都能插入9位数字。n只是用来控制显示而已,如果为int(4),插入一个1,显示时也会用空格补齐到4个字节
请问所有mysql中的数据类型中的(n)都是表示显示位数吗?
并非如此,NUMERIC(4)就限定了取值范围,超过4位就不允许写入了。因此如果你想限定数字的取值范围,最好是用NUMERIC来定义。

被折叠的 条评论
为什么被折叠?