mysql里mediumint类型如果手动把“长度”设为3,会有影响吗?

发布于 2022-09-04 15:00:26 字数 1101 浏览 15 评论 0

查了一下,一般都是这么说的:

  • TINYINT——一个微小的整数,支持 -128到127(SIGNED),0到255(UNSIGNED),需要1个字节存储

  • BIT——同TINYINT(1)

  • BOOL——同TINYINT(1)

  • SMALLINT——一个小整数,支持 -32768到32767(SIGNED),0到65535(UNSIGNED),需要2个字节存储

  • MEDIUMINT——一个中等整数,支持 -8388608到8388607(SIGNED),0到16777215(UNSIGNED),需要3个字节存储

  • INT——一个整数,支持 -2147493648到2147493647(SIGNED),0到4294967295(UNSIGNED),需要4个字节存储

  • INTEGER——同INT

  • BIGINT——一个大整数,支持 -9223372036854775808到9223372036854775807(SIGNED),0到18446744073709551615(UNSIGNED),需要8个字节存储

用Navicat之类的可视化工具的时候,“长度”那一项是可以改的。也就是说,我可以把mediumint的长度改成3,或者把tinyint的长度改为10……
我试着改了一下再看表中的数据,是没有变的。
我就想问问,其实这里生效的只是“类型”对吗?


又搜了一下,找到这个:

mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill是有用
如int(3),如果实际值是2,如果列指定了zerofill,查询结果就是002,左边用0来填充。

位数限制基本没有意义。

http://www.111cn.net/database...

不知道这里说的“位数”是不是我说的“长度”呢……

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风为裳 2022-09-11 15:00:26

是的,位数(你说的长度)只是显示问题

夜吻♂芭芘 2022-09-11 15:00:26

只是显示的位数,跟最大最小值没有关系

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文