我想知道有什么差别BigInt
,MediumInt
和Int
是...这似乎很明显,他们将允许更大的数字; 但是,我可以制作一个Int(20)
或一个BigInt(20)
,这似乎不一定是大小.
一些见解会很棒,只是有点好奇.我一直在使用MySQL并尝试在选择类型时应用业务需求,但我从未理解这方面.
Bil*_*win 427
请参阅http://dev.mysql.com/doc/refman/8.0/en/numeric-types.html
INT
是一个四字节有符号整数.
BIGINT
是一个8字节有符号整数.
它们每个接受的值不会超过它们各自的字节数.这意味着a中有2 32 个值,a 中有INT
2 64个值BIGINT
.
20英寸INT(20)
,BIGINT(20)
几乎没有任何意义.这是显示宽度的提示.它与存储无关,也与列可接受的值范围无关.
实际上,它只影响ZEROFILL
选项:
CREATE TABLE foo ( bar INT(20) ZEROFILL );
INSERT INTO foo (bar) VALUES (1234);
SELECT bar from foo;
+----------------------+
| bar |
+----------------------+
| 00000000000000001234 |
+----------------------+
Run Code Online (Sandbox Code Playgroud)
这是MySQL用户看到INT(20)
和假设它是一个大小限制的混淆的常见原因,类似于CHAR(20)
.不是这种情况.
归档时间: |
|
查看次数: |
186352 次 |
最近记录: |