sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL TypeError:niet alle argumenten geconverteerd tijdens tekenreeksopmaak

Er moet een komma staan ​​na lines[0] om daar een tuple van te maken.

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

Sinds de execute methode verwacht een sequentie (of een mapping) het herhaalt de string die u tussen haakjes hebt opgegeven. Het is dus noodzakelijk om daar expliciet een tuple van te maken. Hetzelfde resultaat, met duidelijkere code, kan worden verkregen met de tuple functie :

(tuple(lines[0]))



  1. Amazon RDS Point-in-Time Recovery vergelijken met ClusterControl

  2. PostgreSQL:FOUT:42601:een kolomdefinitielijst is vereist voor functies die record retourneren

  3. Hoe weet ik of een SQL-instructie in Java is uitgevoerd?

  4. Voorwaardelijke unieke beperking met meerdere velden in Oracle db