我正在使用python 3.8和psycopg2
我正在尝试在数据库中插入注册表。 我有一个格式化查询的函数,并作为结果发送包含2个值的列表,一个是查询,另一个是值。
我进行了一次测试,并将一个固定值与结果列表查询[1]的确切值放在一起,并且没有错误地工作,但是当我使用查询[1]作为值而不是值本身时,出现了此错误:
TypeError: not all arguments converted during string formatting
在我的日志中,我具有查询列表的这些值,即查询构造函数的结果。
['INSERT INTO country (code, name, flag, update_time) VALUES(%s,%s,%s,%s)', "('US', 'USA', 'https://example.com/flags/us.svg', 1596551810)"]
查询[0]
INSERT INTO country (code, name, flag, update_time) VALUES(%s,%s,%s,%s)
查询[1]
('US', 'USA', 'https://example.com/flags/us.svg', 1596551810)
这是代码片段
`
cursor = connection.cursor()
query_insert = query[0]
query_values = tuple(query[1])
cursor.execute(query_insert,(query_values))
我试图将其作为元组,使用括号,但错误仍然存在。 如果我将query [1]的值作为值放在我的代码中,则可以很好地工作,所以我认为错误是在cursor.execute参数的值部分。
欢迎任何帮助!