2011-05-07 33 views
3

我需要大量的存储,如:100000076685963导轨 - 如何存储大量像100000076685963

这些都是大的数据库字段类型整数。在我的数据库迁移我使用:

t.integer :fb_uid 

什么字段类型应该用于这样的大数字?

谢谢

+1

t.bigint会工作吗? – zengr 2011-05-07 05:33:16

回答

3

您可以使用一个固定点数据类型,如十进制数,具有很高的精度。根据你给出的数字,15的精度可以工作,但你应该确切地确定你期望的范围。

t.decimal :fb_fluid, :precision => 15 
+1

这是为了存储Facebook的UID,所以它可能达到10亿 – AnApprentice 2011-05-07 15:47:54

3

尝试浮动

t.float :fb_uid 

而且看起来这是事做与Facebook(可能facebooker),并假设这些数字不会用算术运算,你很可能只是字符串

t.string :fb_uid 
+1

浮点字段有一个有限的精度,是“有损”;您输出的号码可能不是您输入的号码。 – 2015-04-17 13:43:31

1

您需要设置limit字段以获取Postgresql的bigint精度:

t.integer :fb_uid, limit: 8