psycopg2-TypeError:在字符串格式化期间并非所有参数都已转换

时间:2020-08-04 16:16:08

标签: postgresql psycopg2 python-3.8

我正在使用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参数的值部分。

欢迎任何帮助!

0 个答案:

没有答案