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

PostgreSQL TypeError:ikke alle argumenter konverteres under strengformatering

Der skal være et komma efter lines[0] at gøre det til en tupel.

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

Siden execute metoden forventer en sekvens (eller en mapping) den gentager den streng, du har angivet, omgivet af parenteser. Så det er nødvendigt eksplicit at gøre det til en tupel. Det samme resultat, med klarere kode, kan opnås ved at bruge tuple funktion :

(tuple(lines[0]))



  1. Hent funktioner DDL kommando

  2. Paginering for at vise maks. værdi og begrænse resten

  3. Hvordan gør du det muligt for kunder at bruge deres openid på din hjemmeside, ligesom stackoverflow?

  4. Opdater database fra Javascript onClick By Ajax PHP