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
,:2
dll. (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.)