使用填充数据库更新Web2py的auto_increment id?

时间:2016-05-21 07:01:22

标签: python postgresql web2py

我正在开发web2py项目,我需要向数据库插入500多行数据。

问题是如果我使用Pgadmin使用' Insert' web2py auto_increment id,它不识别数据并尝试使用KEY 1插入新行,这导致重复的主键错误。

有没有更好的方法来初始插入数据或修改起始auto_increment id值?

更新:

我已经在Web2py上定义并创建了这样的表,

db.define_table('Client_Size',
            Field('name', 'string'))

运行一次后,web2py在db上创建了它,然后,使用Pgadmin III,将这些值相互交织,

INSERT INTO Client_Size(id, name) VALUES
(1, 'Small'), (2, 'Medium'), (3, 'Big');

这是一个简短的输入,但我有另一个500的值,所以不可能手动输入。

之后,如果我尝试向Client_Size添加新行,则web2py不会识别数据库已填充数据,并将id用作1,从而产生错误。

1 个答案:

答案 0 :(得分:0)

id字段是一个自动递增的整数字段,这意味着数据库将自动使用下一个值填充它。因此,您不应该尝试为该字段插入自己的值 - 只需指定name字段的值,并让数据库处理id的创建。 (即使它不是自动递增的,因为它作为表的主键,你也不想插入重复的值。)