开发者社区> 问答> 正文

MySQL中的类型:BigInt(20)与Int(20)

我想知道什么之间的区别BigInt,MediumInt以及Int在...这似乎很明显,他们将允许更大的数字; 但是,我可以使一个Int(20)或一个BigInt(20)看起来似乎不一定与大小有关。

一些见识会很棒,只是有点好奇。我使用MySQL已有一段时间,并在选择类型时尝试满足业务需求,但是我从不理解这一方面。

展开
收起
保持可爱mmm 2020-05-10 20:31:18 582 0
1 条回答
写回答
取消 提交回答
  • 见http://dev.mysql.com/doc/refman/8.0/en/numeric-types.html

    INT 是一个四字节有符号整数。

    BIGINT 是一个八字节有符号整数。

    它们各自接受的值不超过可以存储在其各自字节数中的值。表示中的2 32个值INT和中的2 64个值BIGINT。

    20 in INT(20)和BIGINT(20)几乎没有任何意义。这是显示宽度的提示。它与存储无关,也与列将接受的值的范围无关。

    实际上,它仅影响以下ZEROFILL选项:

    CREATE TABLE foo ( bar INT(20) ZEROFILL ); INSERT INTO foo (bar) VALUES (1234); SELECT bar from foo;

    +----------------------+ | bar | +----------------------+ | 00000000000000001234 | +----------------------+ 对于MySQL用户来说,看到INT(20)并假设它是一个大小限制(类似于)是一个常见的困惑源CHAR(20)。不是这种情况。来源:stack overflow

    2020-05-10 20:31:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像