sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL TypeError:inte alla argument konverteras under strängformatering

Det måste finnas ett kommatecken efter lines[0] för att göra det till en tuppel.

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

Eftersom execute metoden förväntar sig en sekvens (eller en mappning) den itererar över strängen du angav omgiven av parentes. Så det är nödvändigt att uttryckligen göra det till en tuppel. Samma resultat, med tydligare kod, kan uppnås med tuple funktion :

(tuple(lines[0]))



  1. Mysql inkonsekvent antal rader count(*) kontra table.table_rows i informationsschema

  2. Välj mysql-fråga mellan datum?

  3. ändra auto_increment inom samma tabell med hjälp av subquery mysql

  4. Npgsql - Angiven metod stöds inte