当您在mysql上需要大于20的整数时该怎么办?

好像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)作为列类型,以便为整数值提供65位数字。

以上是 当您在mysql上需要大于20的整数时该怎么办? 的全部内容, 来源链接: utcz.com/qa/403455.html

回到顶部