PostgreSQL 8.3上的Bigint

时间:2010-10-15 05:14:12

标签: postgresql bigint

我有一个带有数据类型为bigint的主键uid的用户表。

我不明白为什么在尝试使用uid = 100000349053153添加用户时出现错误:“Minteger超出范围”。

这应该有效(根据文档:http://www.postgresql.org/docs/8.3/static/datatype.html

2 个答案:

答案 0 :(得分:2)

感谢尼古拉斯和亚当。

问题与我对Rails的混淆使用有关。

我认为rake db:reset从迁移文件重新创建数据库是错误的。 我有正确的迁移文件,但是rake db:reset使用了schema.rb提供的错误信息

如果您想存储Facebook ID,请使用(在迁移中):

t.integer :uid, :limit => 8

您还可以添加索引:

add_index :users, :uid, :unique => true

如果您想从头开始重新创建Rails数据库,请使用:

rake db:drop
rake db:create
rake db:migrate

答案 1 :(得分:0)

FWIW以下对我来说很合适:

CREATE TABLE bigintexample
(
  id bigint,
  CONSTRAINT pk_bigintexample_id PRIMARY KEY (id)
);

INSERT INTO bigintexample (id) VALUES (100000349053153);