Menurut Spesifikasi Basis Data Python di PEP 249
, format yang digunakan dalam kueri untuk menunjukkan tempat untuk menyisipkan parameter bergantung pada paramstyle anggota modul database:
- jika itu
qmark, gunakan?(tanda tanya) - jika berupa
numeric, gunakan:1,:2dll. (numerik, gaya posisional) - jika
named, gunakan:name(bernama gaya) - jika
format, gunakan%s(Kode format printf ANSI C) - jika itu
pyformat, gunakan%(name)s(Kode format diperpanjang Python)
AFAIR, MySQLdb menggunakan format , jadi Anda harus mengganti ? dengan %s .(Jika MySQLdb akan menggunakan pernyataan yang disiapkan dengan benar, itu akan menjadi qmark dan ? adalah cara yang tepat.)