我知道有符号数据类型包含负数和正数,而无符号数据类型仅包含正整数。
但这两者有什么区别。
bigint unsigned
AND bigint(20) unsigned
最佳答案
BIGINT UNSIGNED
是一个八字节无符号整数。
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),这是一个常见的混淆来源。
关于mysql bigint和bigint的区别(20),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22014869/