【发布时间】:2017-02-03 13:01:50
【问题描述】:
我在带有 32 位 PIXEL OS(Raspbian 版本)的树莓派 3(64 位 SoC)上运行 LAMP 堆栈。 我在 MySQL 中创建了一个新表,并将主键设置为无符号 BIGINT(20)。最初我认为数据库只会截断溢出的数字或其他东西,但它实际上可以存储超过约 40 亿的数字。更准确地说,我存储了数字 5201702020。 这怎么可能?
【问题讨论】:
-
这是可能的,因为当一切都是 32 位时,人们说“嗯,我需要存储一个非常大的数字,所以我会构建它来处理它”。您肯定不认为在 1980 年代没有人必须处理大量数字吗? superuser.com/questions/698312/…
-
BIGINT 存储在 8 个字节中。不管是32位还是64位系统。
-
可能 MySQL 使用多个内存位置来存储数字...现在想想,它是如何存储超过 4 个字节的字符串的???