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

我想知道什么之间的区别BigIntMediumInt以及Int在…这似乎很明显,他们将允许更大的数字;

但是,我可以使一个Int(20)或一个BigInt(20)看起来似乎不一定与大小有关。

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

回答:

见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)。不是这种情况。

以上是 MySQL中的类型:BigInt(20)与Int(20) 的全部内容, 来源链接: utcz.com/qa/424572.html

回到顶部