关于mysql数据库中,字段长度的一个解释,一直以为int长度为1时,只能插入0-9的数字,发现完全不是,具体如下:
1、varchar类型的长度是指这个字段的字符(字母或汉字)个数。
2、数字类型的长度不是这个意思:
(1)int类型INT(M),M代表的是显示宽度,长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-2147483648~2147483647(即-2³¹-1~2³¹-1)
(2)tinyint类型:长度设定值范围1~255(设置0时自动转为4,不设置时自动转为默认的4)(显示宽度),在此范围内任意长度值的字段值范围都是-128~127(-2⁷-1~2⁷-1)
也就是说:int(1)、int(4)、int(11)和int(110)表示意思是一样的
要查看出不同效果记得在创建类型的时候加 zerofill这个值(INT(M) ZEROFILL),表示用0填充,否则看不出效果的
参考资料:
/superit401/article/details/78237780?utm_source=blogxgwz0