开发者社区> 问答> 正文

int(11)与int(其他)?mysql

我是Web编程的新手,正在做可以在网上找到的各种教程。

我做了研究,发现在int(11)中,11是整数的最大显示宽度,如果整数是UNSIGNED(在本例中为10),则它是默认值。

当我看到这样的东西:

id INT(11) not null AUTO_INCREMENT 我没问题 但是,为什么在不同的教程中看到不同的东西?例如,在某些情况下,

id INT(10) not null AUTO_INCREMENT 乃至

id INT(4) not null AUTO_INCREMENT 这些tut的作者试图达到什么目的?他们似乎都不想去解释10或4的含义。

好了,它们显然正在减小显示宽度,但是为什么呢?默认宽度11有什么问题?他们为什么要更改它?还是有我不知道的其他原因?

谢谢。

展开
收起
保持可爱mmm 2020-05-17 19:15:20 531 0
1 条回答
写回答
取消 提交回答
  • 该x中INT(x)有无关空间要求或其他任何性能问题,它其实只是显示宽度。通常,使用该UNSIGNED ZEROFILL选项将显示宽度设置为合理的值最为有用。

    //INT(4) UNSIGNED ZEROFILL 0001 0002 ... 0099 ... 0999 ... 9999 ... 10000

    //INT(2) UNSIGNED ZEROFILL 01 02 ... 09 ... 99 ... 100 如果没有该UNSIGNED ZEROFILL选项,则该值将用空格左填充到适当的显示宽度。

    //INT(4) 1 2 ... 99 ... 999 ... 9999 ... 10000

    //INT(2) 1 2 ... 9 ... 99 ... 100来源:stack overflow

    2020-05-17 19:15:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像