创建的字段类型为int,可是查看结构的时候,发现类型成了int(11)或者int(10),这是什么原因哦?
怎么后面带了个括号,而且里面有数值??不明白这具体是 什么意思?谢谢

解决方案 »

  1.   

    In MySQL, INT(10) does not mean that values are limited to 10-character values. It only means that MySQL will try to pad these values with spaces/zeroes when returning them. The numeric range of any signed INT including INT(10), INT(5) or any other INT(n) is:
    -2,147,483,648 ... 2,147,483,647, which is 10 digits at most. 
      

  2.   

    这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。注意,如果在一个整型列中存储一个超过显示宽度的更大值时,当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度。而int本身就是4个字节 bigint是8个字节 所以说int(X)的含义就是 int决定数据存储的字节 X表示期望数据的列宽度在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。这个代表显示宽度
    整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
      

  3.   

    MySQL int(X) 中 X 的含义这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。注意,如果在一个整型列中存储一个超过显示宽度的更大值时,当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度。而int本身就是4个字节 bigint是8个字节 所以说int(X)的含义就是 int决定数据存储的字节 X表示期望数据的列宽度在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。这个代表显示宽度
    整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
    上面是我刚刚在网上找着的,不过还是没看很明白。是指显示长度吗?
      

  4.   

    还有点问题,那它是根据什么来确定是11呢,我创建了2个字段,都是int,可是查看结构时候,一个是int(10),一个是int(11),??