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]))