我正在开发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,从而产生错误。
答案 0 :(得分:0)
id
字段是一个自动递增的整数字段,这意味着数据库将自动使用下一个值填充它。因此,您不应该尝试为该字段插入自己的值 - 只需指定name
字段的值,并让数据库处理id
的创建。 (即使它不是自动递增的,因为它作为表的主键,你也不想插入重复的值。)