mysql中int长度的意义

一直以来都是认为mysql的int储存的值的长度与设置的int长度有关,如int(3)表示只能储存3位数字int(11)能存储11位数字。其实这根本就是大错特错。
mysql手册是这样写的:MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示
意思就是说对于大多数情况下,这个长度其实对于储存和查看毫无作用。它只是作用于查看显示的方式,如int(3),如果你你数字是1,则会显示成001这样。
然后你还要勾选填充零这个选项,才会产生效果在这里插入图片描述

另外并不是所有的客户端都会有效果,至少我用navicat没作用,我在mysql命令行里面查询才看到显示的效果在这里插入图片描述
另外
最后:虽然设置的值意义不大,但是在于统一规范的角度上,建议还是应该设置一个合理范围的值的。

猜你喜欢

转载自blog.csdn.net/lihuanlin/article/details/89145722