Rails ActiveRecord id的最大可能值

时间:2015-11-02 06:55:53

标签: ruby-on-rails ruby rails-activerecord

我想知道ActiveRecord hold的id值是什么最大值,它是否与ruby的整数最大值有些相关? 任何线索?

提前致谢

2 个答案:

答案 0 :(得分:3)

这取决于数据类型。默认情况下,rails选择id类型int(11)。这是最大限制:

  • int: 2 ^ 31-1(2,147,483,647)
  • bigint: 2 ^ 63-1(9,223,372,036,854,775,807)

如果您使用bigint,则不太可能会溢出。

答案 1 :(得分:1)

这取决于数据库中相应列的限制。

Ruby的fixnum在32位平台上有一个上限(2**30 - 1,在64位上有2**62 - 1),但是ruby会透明地切换到bignums,它具有无限的精度。