BIGINT
似乎是 MySQL 上可用的最大整数,对吧?
例如,当您需要存储一个 BIGINT(80) 时该怎么办?
为什么在某些情况下,例如 Twitter API 文档中的某处,他们建议我们将这些大整数存储为 varchar
?
选择使用一种类型而不是另一种类型背后的真正原因是什么?
最佳答案
大整数实际上并不限于 20 位,它们仅限于可以用 64 位表示的数字(例如,数字 99,999,999,999,999,999,999
尽管它不是有效的大整数长度为 20 位)。
你有这个限制的原因是底层硬件可以相对快速地操作原生格式整数,而数字的文本版本(往往)需要一次处理一个数字。
如果您想要一个大于最大 64 位无符号整数 18,446,744,073,709,551,615
的数字,那么您需要将其存储为 varchar
(或其他文本字段)并希望你不需要对它做太多的数学运算。
或者,您可以使用 decimal(65,0)
作为列类型。
关于mysql - mysql上需要大于20位的整数怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7142604/