我知道有符号数据类型保持负数和正数无和无符号仅保持正整数.
但是两者之间的区别是什么.
bigint unsigned 和 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 |
+----------------------+
Run Code Online (Sandbox Code Playgroud)
对于MySQL用户来说,看到BIGINT(20)并假设它是一个大小限制,类似于CHAR(20),这是混淆的常见原因.
| 归档时间: |
|
| 查看次数: |
994 次 |
| 最近记录: |