PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL TypeError:Nicht alle Argumente wurden während der Zeichenfolgenformatierung konvertiert

Nach lines[0] muss ein Komma stehen um daraus ein Tupel zu machen.

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

Da der execute Methode erwartet eine Sequenz (oder ein Mapping) es iteriert über die Zeichenfolge, die Sie in Klammern angegeben haben. Es ist also notwendig, das explizit zu einem Tupel zu machen. Das gleiche Ergebnis mit klarerem Code kann mit dem tuple Funktion :

(tuple(lines[0]))