鉴于Postgres查询:
INSERT INTO net.bgp_communities (comm_name, comm_value) VALUES (%s, %s) ;
和数据
('blabla', 'target:*:*')
结果查询是(使用mogrify
)
INSERT INTO net.bgp_communities (comm_name, comm_value) VALUES ('blabla', 'target:*:*') ;
导致
TypeError('not all arguments converted during string formatting',)
我认为错误来自元组最后没有,
?但是如何解决这个问题?
修改
描述如何使用psycopg2
将查询与元组一起呈现curs.executemany("""INSERT INTO net.bgp_communities (comm_name, comm_value) VALUES (%s, %s)""", msg)
答案 0 :(得分:0)
已在评论中解决:
请注意,executemany
需要一个可迭代的参数集 -cursor.executemany("INSERT INTO sometable (id, somefield) VALUES (%s, %s)", [(1, 'a'), (2, 'b')])
应该是正确的,而
cursor.executemany("INSERT INTO sometable (id, somefield) VALUES (%s, %s)", (1, 'a'))
应该是不正确的。 - 肯达斯