当您在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