mysql – tinyint(size),varchar(size):“size”解释
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – tinyint(size),varchar(size):“size”解释,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1883字,纯文字阅读大概需要3分钟。
内容图文
![mysql – tinyint(size),varchar(size):“size”解释](/upload/InfoBanner/zyjiaocheng/906/ec0c045238584ddb9508cd404c27bb5a.jpg)
我知道tinyint(1)和tinyint(2)具有相同的存储空间范围.
唯一的区别是显示宽度是有区别的.这是否意味着tinyint(1)将存储所有类型的整数,但只能正确显示0到9的范围? tinyint(2)只能正确显示0到99吗?
并且提到最大尺寸是tinyint(255).还有其他像varchar(500)类型的宽度.除非存储一篇文章,否则在什么情况下你需要如此大的文本和整数显示宽度?像密码加密还是什么?
如果问题中写的任何上述信息有误,请纠正我.
添加问题:显示宽度仅适用于char,varchar等,但不适用于整数类型.
但是,为什么要放“M”,因为对于整数来说,除了zerofill之外它不会对它进行存储有什么不同?
解决方法:
您的混淆解决方案是 –
在Mysql中,int(6)并不意味着它们最多可以存储6位数.不超过999999.
但是CHAR(6)
这意味着一个字符列,最大长度为6个字符,例如:
房屋
如果我尝试在该列中存储“特殊”一词,MySQL会将值切换为“specia”,因为原始单词有7个字符.
无论如何,整数列都具有允许的预设值范围.括号中的数字仅表示显示宽度.
这可能仍然令人困惑,所以让我进一步解释……
显示宽度是1到255之间的数字.如果希望所有整数值“出现”类似,则可以设置显示宽度:
TINYINT [(M)] [未签名] [ZEROFILL]
M表示整数类型的最大显示宽度.最大显示宽度为255.显示宽度与类型可包含的值范围无关.对于浮点和定点类型,M是可以存储的总位数.
如果为数字列指定ZEROFILL,MySQL会自动将UNSIGNED属性添加到列中.
所以回答你的问题是
create table foo
(
col2 tinyint(2) unsigned zerofill, col4 tinyint(4) unsigned zerofill, col5notzerofill tinyint(5)
)engine=innodb;
insert into foo values (1,2,3),(11,12,14),(123,123,156),(1234,1234,12756);
select * from foo;
OUTPUT :-
+------+------+-----------------+
| col2 | col4 | col5notzerofill |
+------+------+-----------------+
| 01 | 0002 | 3 |
| 11 | 0012 | 14 |
| 123 | 0123 | 127 |
| 255 | 0255 | 127 |
+------+------+-----------------+
*所以理解,在Mysql显示宽度只能与zerofill一起使用.
*如果您使用不使用zerofill,它是无效的.
如果你使用zerofill,那么mysql将检查显示widht,如果你没有分配,那么mysql将自动为该列分配display-width.*
内容总结
以上是互联网集市为您收集整理的mysql – tinyint(size),varchar(size):“size”解释全部内容,希望文章能够帮你解决mysql – tinyint(size),varchar(size):“size”解释所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。