我知道tinyint(1)和tinyint(2)具有相同的存储空间范围。
唯一的区别是显示宽度会有所不同。这是否意味着tinyint(1)将存储所有类型的整数,但仅正确显示从0到9的范围?而且tinyint(2)仅正确显示0到99吗?
并且提到最大大小为tinyint(255)。也有其他类似varchar(500)类型的宽度。除非存储论文,否则在什么情况下文本和整数都需要这么大的显示宽度?喜欢密码加密之类的东西吗?
如果问题中所写的任何上述信息有误,请纠正我。
问题补充:显示宽度仅适用于char,varchar等,不适用于整数类型。
但是,为什么要加上“ M”,因为对于整数来说,除了零填充之外,它对存储它没有任何影响?
您的困惑解决方案是-
在Mysql中,int(6)并不意味着它们最多可以存储6位数字。不超过999999。
但是CHAR(6)表示一个字符列,最大长度为6个字符,例如:
房屋
如果我尝试在该列中存储单词“ pecial”,MySQL将把值切为“ pecia”,因为原始单词有7个字符。
无论如何,整数列都具有允许的预设值范围。括号中的数字仅表示显示宽度。
这可能仍然令人困惑,所以让我进一步解释一下。’‘
显示宽度是一个介于1到255之间的数字。如果要将所有整数值都设置为“ ppear”,则可以设置显示宽度,类似地:
TINYINT [(M)] [未签名] [零填充]
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,则mysql将检查display widht,如果不分配,则mysql将自动为该列分配display-width。 *
描述 (Description) Size效果可以与effect()方法一起使用。 这会将元素的大小调整为指定的宽度和高度。 语法 (Syntax) 以下是使用此效果的简单语法 - <i>selector</i>.effect( "size", {arguments}, speed ); 参数 (Parameters) 以下是所有论点的描述 - from - 国家开始,通常不需要。 这是{hei
描述 (Description) size属性指定页面框的大小和方向。 可能的值 (Possible Values) length - 设置页面框的物理大小。 auto - 页面框的大小适合显示媒体。 portrait - 将页面框设置为与显示页面相同的大小,但较长的度量将被强制为垂直轴。 landscape - 将页面框设置为与显示工作表相同的大小,但较长的度量被强制为水平轴。 适用于 (App
描述 (Description) C库函数size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)根据格式定义的格式化规则格式化结构timeptr表示的时间并存储到str 。 声明 (Declaration) 以下是strftime()函数的声明。 size_t strftime
描述 (Description) C库函数size_t strxfrm(char *dest, const char *src, size_t n)将字符串src的前n字符转换为当前语言环境,并将它们放在字符串dest 。 声明 (Declaration) 以下是strxfrm()函数的声明。 size_t strxfrm(char *dest, const char *src, size_t n
描述 (Description) C库函数size_t strspn(const char *str1, const char *str2)计算str1的初始段的长度,它完全由str2的字符组成。 声明 (Declaration) 以下是strspn()函数的声明。 size_t strspn(const char *str1, const char *str2) 参数 (Parameters)
描述 (Description) C库函数size_t strlen(const char *str)计算字符串str的长度,但不包括终止空字符。 声明 (Declaration) 以下是strlen()函数的声明。 size_t strlen(const char *str) 参数 (Parameters) str - 这是要找到其长度的字符串。 返回值 (Return Value) 此函数返