Rails - 如何存储像100000076685963这样的大数字

3

我需要存储像100000076685963这样的大数值。

这些数字太大了,超出了数据库字段类型为整数的范围。在我的数据库迁移中,我使用:

  t.integer :fb_uid

我应该使用什么字段类型来存储这样的大数字?

谢谢。

3个回答

3

您可以使用固定点数据类型,例如带有大精度的十进制数。根据您提供的数字,精度为15将起作用,但您应该确切地确定您所期望的范围。

t.decimal :fb_fluid, :precision => 15

1
这是用于存储Facebook用户ID的,以便其可以达到10亿。 - AnApprentice

3
尝试使用浮点数
t.float :fb_uid

看起来这与Facebook有关(可能是Facebooker),假设这些数字不会用作算术运算,您可以只使用字符串

t.string :fb_uid

1
浮点字段具有有限精度并且是“损失的”;你获得的数字可能不是你输入的数字。 - Wayne Conrad

1
你需要在该列中设置limit字段,以获得Postgresql的bigint精度:
t.integer :fb_uid, limit: 8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接