sql >> Database >  >> RDS >> Mysql

ProgrammingError:niet alle argumenten geconverteerd tijdens tekenreeksopmaak

Volgens de Python-databasespecificatie in PEP 249 , het formaat dat in een query wordt gebruikt om te laten zien waar de parameters moeten worden ingevoegd, hangt af van de paramstyle lid van de databasemodule:

  • als het qmark is , gebruik ? (vraagteken)
  • als het numeric is , gebruik :1 , :2 enz. (numeriek, positionele stijl)
  • als het named . is , gebruik :name (benoemde stijl)
  • als het format is , gebruik %s (ANSI C printf formaat codes)
  • als het pyformat is , gebruik %(name)s (Python-codes voor uitgebreid formaat)

AFAIR, MySQLdb gebruikt format , dus je moet je ? . vervangen met %s .(Als MySQLdb voorbereide instructies op de juiste manier zou gebruiken, zou het qmark zijn en ? was de juiste manier om te gaan.)



  1. Tabelnaam tweemaal opgegeven, zowel als doel voor update als aparte bron voor gegevens

  2. Hoe JPA Repository Query definiëren met een Join?

  3. Postgres wijzigt handmatig de volgorde

  4. pg_ctl Tips en trucs