PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

PostgreSQL TypeError:nem todos os argumentos foram convertidos durante a formatação da string


Deve haver uma vírgula após lines[0] para fazer disso uma tupla.
curr.execute("""
    SELECT fields.fieldkey
    FROM fields
    LEFT JOIN zone ON zone.fieldkey=fields.fieldkey
    WHERE zone.zonekey = %s;
""", (lines[0],))

Como o execute método está esperando uma sequência (ou um mapeamento) ele itera sobre a string que você forneceu entre parênteses. Portanto, é necessário tornar isso explicitamente uma tupla. O mesmo resultado, com código mais claro, pode ser obtido usando a tupla tuple função :
(tuple(lines[0]))