gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 12:48:43 26 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/3135804/

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