有谁知道tinyint的size表示什么意思,我发现tinyint(4) tinyint(80)都是一样的。。才8个字节size的大小说明什么呢?

解决方案 »

  1.   

    tinyint(4) 4表示最大显示宽度,不是数据的存储字节数
    tinyint 使用一个字节存储,既最大值是255
      

  2.   

    tinyint(4) tinyint(80)的确都是一样的,4,80对存储和精度不起任何作用,仅起个在mySQL命令下的显示宽度,没什么意义。具体你应该参阅一下mySQL的官方参考手册。MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。
      

  3.   

    tinyint(4) tinyint(80)的确都是一样的,4,80对存储和精度不起任何作用,仅起个在mySQL命令下的显示宽度,没什么意义。具体你应该参阅一下mySQL的官方参考手册。MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。
    tinyint(4) tinyint(80)的确都是一样的,4,80对存储和精度不起任何作用,仅起个在mySQL命令下的显示宽度,没什么意义。具体你应该参阅一下mySQL的官方参考手册。MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。
    tinyint(4) tinyint(80)的确都是一样的,4,80对存储和精度不起任何作用,仅起个在mySQL命令下的显示宽度,没什么意义。具体你应该参阅一下mySQL的官方参考手册。MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。