int()字段类型长度 问题
一直以来我定义int数据类型时填写的长度都是为11,只知道int类型的数据可表达的范围:
有符号值:-2147683648 到 2147683647
无符号值:0 到 4294967295
小弟想问下,定义了int数据类型后,后面填写的长度具体有什么用?
如果长度为4,请问最大的数是多少?如果是自增的可以是多少条?
答:最大为11位,最少为4位,不够在前面补空格
这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。注意,如果在一个整型列中存储一个超过显示宽度的更大值时,当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度。
而int本身就是4个字节 bigint是8个字节 所以说int(X)的含义就是 int决定数据存储的字节 X表示期望数据的列宽度
在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。
这个代表显示宽度
整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
一直以来我定义int数据类型时填写的长度都是为11,只知道int类型的数据可表达的范围:
有符号值:-2147683648 到 2147683647
无符号值:0 到 4294967295
小弟想问下,定义了int数据类型后,后面填写的长度具体有什么用?
如果长度为4,请问最大的数是多少?如果是自增的可以是多少条?
答:最大为11位,最少为4位,不够在前面补空格
这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。注意,如果在一个整型列中存储一个超过显示宽度的更大值时,当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度。
而int本身就是4个字节 bigint是8个字节 所以说int(X)的含义就是 int决定数据存储的字节 X表示期望数据的列宽度
在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。
这个代表显示宽度
整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/1283/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2008-10-6 14:03
评论列表