我有一个变量数组(arr
),我想插入我的数据库,我在那里使用Psycopg2。我插入的数组有45个条目。我现在正在运行的代码如下:
string = ''
for i in range(0, length):
string = string + "%s, "
string = string[:-2]
query = """
INSERT INTO schema.tablename
VALUES (%s)"""
query = query.replace("%s", string)
cur.execute(query, (arr, ))
我想避免显式编写列,因为我正在使用的表可能会更改(添加列/删除列)。上面的代码给出了错误:
IndexError: tuple index out of range
我该怎么做?
答案 0 :(得分:2)
您是否尝试过executemany
功能?
cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup)