用填充的数据库更新 Web2py 的 auto_increment id?
Updating Web2py's auto_increment id with filled database?
我正在做一个 web2py 项目,我需要将 500 多行数据插入数据库。
问题是,如果我使用 Pgadmin 使用 'Insert' web2py auto_increment id 来执行此操作,它无法识别数据并尝试使用导致的 KEY 1 插入新行重复的主键错误。
初始插入数据或修改起始auto_incrementid值有更好的方法吗?
更新:
我已经像这样在 Web2py 上定义并创建了 table,
db.define_table('Client_Size',
Field('name', 'string'))
在 运行 之后,有一次 web2py 在数据库上创建了它,然后使用 Pgadmin III,像这样插入值,
INSERT INTO Client_Size(id, name) VALUES
(1, 'Small'), (2, 'Medium'), (3, 'Big');
这是一个简短的输入,但我有另一个具有 500 个值的输入,因此无法手动输入。
之后,如果我尝试向 Client_Size
添加新行,web2py 无法识别数据库中已填充数据,并使用 id 作为 1,从而产生错误。
id
字段是一个自动递增的整数字段,这意味着数据库会自动用下一个值填充它。因此,您不应尝试为该字段插入您自己的值——只需指定 name
字段的值并让数据库处理 id
的创建。 (即使它不是自动递增的,因为它作为 table 的主键,您无论如何也不想插入重复值。)
我正在做一个 web2py 项目,我需要将 500 多行数据插入数据库。
问题是,如果我使用 Pgadmin 使用 'Insert' web2py auto_increment id 来执行此操作,它无法识别数据并尝试使用导致的 KEY 1 插入新行重复的主键错误。
初始插入数据或修改起始auto_incrementid值有更好的方法吗?
更新:
我已经像这样在 Web2py 上定义并创建了 table,
db.define_table('Client_Size',
Field('name', 'string'))
在 运行 之后,有一次 web2py 在数据库上创建了它,然后使用 Pgadmin III,像这样插入值,
INSERT INTO Client_Size(id, name) VALUES
(1, 'Small'), (2, 'Medium'), (3, 'Big');
这是一个简短的输入,但我有另一个具有 500 个值的输入,因此无法手动输入。
之后,如果我尝试向 Client_Size
添加新行,web2py 无法识别数据库中已填充数据,并使用 id 作为 1,从而产生错误。
id
字段是一个自动递增的整数字段,这意味着数据库会自动用下一个值填充它。因此,您不应尝试为该字段插入您自己的值——只需指定 name
字段的值并让数据库处理 id
的创建。 (即使它不是自动递增的,因为它作为 table 的主键,您无论如何也不想插入重复值。)