详解mysql int类型的长度值问题
来源:互联网 发布:js取随机数 编辑:程序博客网 时间:2024/05/21 22:22
提问:
MySQL的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同。如果不同,分别是多大?
回答:
不同,int(3)最多显示3位无符号整体,int(6)最多显示6位无符号数。
如果你的答案和上面的一致,恭喜你和我犯了一样的错误。
真实情况:
我们建立下面这张表:
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`i1` int(3) unsigned zerofill DEFAULT NULL,
`i2` int(6) unsigned zerofill DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
插入一些数据后
发现,无论是int(3), int(6), 都可以显示6位以上的整数。但是,当数字不足3位或6位时,前面会用0补齐。
查下手册,解释是这样的:
MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。
显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。
显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。
当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。
也就是说,int的长度并不影响数据的存储精度,长度只和显示有关,为了让大家看的更清楚,我们在上面例子的建表语句中,使用了zerofill。
结论:
无论是unsigned int(3)或 unsiend int(6),存储的都是4字节无符号整数, 也就是0~2^32。
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值
- mysql int类型的长度值问题
- 详解mysql int数字类型的长度值大小上限
- 创建mysql数据表时,字段的int类型长度问题
- 详解mysql int类型的()中长度值代表的意义
- navicat设置MySQL数据库的字段数字类型int类型的长度的问题
- mysql中int数据类型长度的问题
- mysql中int数据类型长度的问题
- mysql中int数据类型长度的问题
- mysql中int()字段类型长度 问题解释
- 关于Redis数据过期策略
- Android依赖注入:Dagger、RoboGuice和ButterKnife比较
- 友盟页面爬虫工具
- Til the Cows Come Home (POJ 1860)
- Collect More Jewels
- 详解mysql int类型的长度值问题
- Android资源配置arrays.xml的适配器Adapter
- LeetCode 202. Happy Number
- android activity跳转
- 【git】中vim命令
- 第16周 啊哈算法 水管工铺设管道
- nyoj 30 gone fishing
- Eclipse中Maven Dependencies引入某个jar包显示为文件夹
- 0712c#第一天C#语言基础介绍与语法入门