bigint和bigint之间的区别(20)

时间:2014-02-25 12:55:23

标签: mysql performance

我知道有符号数据类型包含负数,而正数没有,而无符号仅包含正整数。

但两者之间的区别是什么。

bigint unsignedbigint(20) unsigned

1 个答案:

答案 0 :(得分:5)

BIGINT UNSIGNED是一个8字节的无符号整数。

BIGINT中的20(20)几乎没有任何意义。这是显示宽度的提示,它与存储无关。实际上,它只影响ZEROFILL选项:

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

+----------------------+
| bar                  |
+----------------------+
| 00000000000000001234 |
+----------------------+

这是MySQL用户看到BIGINT(20)的混淆的常见原因,并假设它是一个大小限制,类似于CHAR(20)。

相关问题