今天追加数据时,数据类型为int(11 )时,我在让用户追加数据时,最大输入的长度为11比特。 结果,无法添加附加数据,出现了问题。 我又把最大长度改为10位。 结果验证9个1时正常,重新验证9个9时又失败。
经过调查资料,最终找到了关于mysql数据类型int(11 )的介绍
在SQL语句中,int表示要创建的字段的类型,int表示整数,11表示字段的长度。
此11表示显示宽度。 整数列的显示宽度与整数所需的存储空间大小无关,与mysql显示该列数值所需的字符数无关。 例如,无论显示宽度设置为多少个字符,bigint都将占用8个字节。
int是整数,(11 )表示字符的长度,但最多可添加255个参数。 例如,这是记录行数的id,如果插入10个数据,将显示0000000001~~~00000010。 如果字符位数超过11,则只显示11位。 要小于11位数,请不要添加它
声明整数数据列时,可以指定显示宽度m (1到255 )。 例如,int )5)时,显示宽度指定为5个字符。 如果未指定显示宽度,MySQL将指定默认值。 显示宽度仅用于显示,并不限制值的范围和占用区域。 例如,INT(3)占用4字节的存储空间,最大允许值也不是999,而是int整数允许的最大值。
MySQL有五种整数数据列类型: TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。 这些差异在于,取值的范围不同,存储区域也不同。
可以通过在整数数据列之后添加UNSIGNED属性来禁止负数。 值从0开始。
注:此处的m不是存储在数据库中的具体长度。 以前,我误以为int(3)只能存储三个长度的数字,而int(3 )存储11个长度的数字。 这是一个巨大的错误。
实际上,选择使用int的类型时,无论是int(3)还是int(3),数据库中存储的都是4字节的长度,使用int(3)时输入10,则缺省存储位010。 也就是说,这3是默认长度,如果bmdqj小于3位,会有帮助
int(10 )和int(10 )的区别,当时以为是长度的区别,但是现在来看,他们之间,不仅在保存的时候有一点区别,在我们使用的时候也没有什么区别。
int(10 )可以指示值int (指定为2147483647 )或可以指示值int。