数据类型 - mysql里mediumint类型如果手动把“长度”设为3,会有影响吗?
ringa_lee
ringa_lee 2017-04-17 16:38:32
[MySQL讨论组]

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

  • 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...

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

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
PHPz

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

PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号