首页 > 解决方案 > 在 Postgresql 中一次将数千行插入数据库

问题描述

我最近开始学习 python 和 sql 并且我已经搞砸了好几天并且被卡住了。我试图在我的 Postgresql 数据库表中插入 10 000 个生成的行,其中包括 id、address、booleanStatement、integerStatement 和 addressDate。

我创建了一个地址生成器,它以一种形式给了我结果:

myAddresses = addressGenerator (10000, 0)
print(myAddresses)

输出:['M3-44-44-00-00-00', False, 1],...,[M3-44-44-00-27-f5, False, 1]

现在要将其插入数据库,我编写了以下代码:

conn.psycopg2.connect("user=abc password=abc dbname=abc host=localhost")
c = conn.cursor()

c.execute('INSERT INTO "my-table" (id, "my-address", integerStatement, booleanStatement, addressDate) Values (NULL, %%s, %%d, %%s, %%s)', myAddresses)
conn.commit()

它给了我错误:psycopg2.ProgrammingError: syntax error at or near "%"

我理解它的方式: id 是自动递增的,所以占位符可以是 NULL,我的地址,booleanStatement 是字符串(%%s),integerStatement 是 %%d 并且作为时间戳的 addressDate 也是 %%s。我在这里做错了什么?

标签: python-3.xpostgresql

解决方案


推荐阅读