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.)