Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ProgrammingError:Nicht alle Argumente wurden während der Zeichenfolgenformatierung konvertiert

Gemäß der Python-Datenbankspezifikation in PEP 249 , hängt das Format, das in einer Abfrage verwendet wird, um anzuzeigen, wo die Parameter eingefügt werden sollen, vom paramstyle ab Mitglied des Datenbankmoduls:

  • wenn es qmark ist , verwenden Sie ? (Fragezeichen)
  • wenn es numeric ist , verwenden Sie :1 , :2 usw. (numerisch, Positionsstil)
  • wenn es named ist , verwenden Sie :name (benannter Stil)
  • wenn es format ist , verwenden Sie %s (ANSI C printf-Formatcodes)
  • wenn es pyformat ist , verwenden Sie %(name)s (Erweiterte Python-Formatcodes)

AFAIR, MySQLdb verwendet format , also sollten Sie Ihr ? ersetzen mit %s .(Wenn MySQLdb vorbereitete Anweisungen korrekt verwenden würde, wäre es qmark und ? war der richtige Weg.)