在Postgresql中一次插入数千行到数据库

时间:2018-06-11 14:43:54

标签: python-3.x postgresql

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

我创建了一个addressGenerator,它以一种形式给我结果:

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,my-address,booleanStatement是字符串(%% s),integerStatement是%% d,addressDate是时间戳也是%% s。我在这做错了什么?

0 个答案:

没有答案