gpt4 book ai didi

mysql - MySQL 中的类型 : BigInt(20) vs Int(20)

转载 作者:行者123 更新时间:2023-11-29 22:51:04 27 4
gpt4 key购买 nike

我想知道 BigIntMediumIntInt 之间的区别是什么......很明显,它们会允许较大的数字;但是,我可以创建一个 Int(20)BigInt(20) ,这样看起来它不一定与大小有关。

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

最佳答案

参见http://dev.mysql.com/doc/refman/8.0/en/numeric-types.html

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

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

它们各自接受的值不能多于或不能少于其各自字节数所能存储的值。这意味着 INT 中有 232 个值,BIGINT 中有 264 个值。

INT(20)BIGINT(20) 中的 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 - MySQL 中的类型 : BigInt(20) vs Int(20),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28907927/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com