Podle specifikace databáze Python v PEP 249
, formát použitý v dotazu k zobrazení místa vložení parametrů závisí na paramstyle
člen databázového modulu:
- pokud je to
qmark
, použijte?
(otazník) - pokud je
numeric
, použijte:1
,:2
atd. (číselný, poziční styl) - pokud je
named
, použijte:name
(pojmenovaný styl) - pokud je
format
, použijte%s
(kódy formátu ANSI C printf) - pokud je
pyformat
, použijte%(name)s
(Kódy rozšířeného formátu Python)
AFAIR, MySQLdb používá format
, takže byste měli nahradit ?
s %s
.(Pokud by MySQLdb správně používal připravené příkazy, byl by to qmark
a ?
byla správná cesta.)