PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL TypeError:non tutti gli argomenti sono stati convertiti durante la formattazione delle stringhe

Deve esserci una virgola dopo lines[0] per farla diventare una tupla.

curr.execute("""
    SELECT fields.fieldkey
    FROM fields
    LEFT JOIN zone ON zone.fieldkey=fields.fieldkey
    WHERE zone.zonekey = %s;
""", (lines[0],))

Poiché execute il metodo si aspetta una sequenza (o una mappatura) itera sulla stringa che hai fornito racchiusa tra parentesi. Quindi è necessario renderla esplicitamente una tupla. Lo stesso risultato, con un codice più chiaro, può essere ottenuto utilizzando la tuple funzione :

(tuple(lines[0]))