【发布时间】:2011-05-07 05:23:32
【问题描述】:
我需要存储大量数字,例如:100000076685963
对于整数的 db 字段类型来说,这太大了。在我的数据库迁移中,我使用:
t.integer :fb_uid
对于这样的大数字,我应该使用什么字段类型?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 postgresql
我需要存储大量数字,例如:100000076685963
对于整数的 db 字段类型来说,这太大了。在我的数据库迁移中,我使用:
t.integer :fb_uid
对于这样的大数字,我应该使用什么字段类型?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 postgresql
您可以使用精度较高的定点数据类型,例如十进制。根据您给出的数字,精度为 15 即可,但您应该准确计算出您期望的范围。
t.decimal :fb_fluid, :precision => 15
【讨论】:
试试浮动
t.float :fb_uid
这似乎与 Facebook(可能是 facebooker)有关,假设这些数字不会用作算术运算,您可能只使用字符串
t.string :fb_uid
【讨论】:
您需要在该列中设置limit 字段以获取Postgresql 的bigint 精度:
t.integer :fb_uid, limit: 8
【讨论】: