在不使用循环的情况下将多行插入数据库

时间:2016-01-18 11:25:28

标签: python postgresql psql

我有以下psql查询将数据插入数据库

sql = ("INSERT INTO kart_user (custid,token,cycle,userid,proxyid,salesrepid,users,buyer,salesrep,validfrom,validto,discount,category,ratioOnly,proxy,notified) ""VALUES (%s, %s, %s, %s,%s, %s, %s, %s,%s, %s, %s, %s,%s, %s, %s, %s)")
result = self.cur.execute(sql,data)
self.dbconn.commit()
return result

现在,我遇到的问题,在某些情况下数据可能包含多行。在这种情况下,我如何重写我的代码。 注意:我不想使用for循环进行数据迭代,请提出更好的方法来解决此问题。

1 个答案:

答案 0 :(得分:4)

executemany()会有所帮助:

result = self.cur.executemany(sql, data)
在这种情况下,

data应该是列表列表或元组列表。