Gunakan list_of_ids
langsung:
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
Dengan begitu Anda tidak perlu mengutip diri sendiri, dan menghindari semua jenis injeksi sql.
Perhatikan bahwa data (list_of_ids
) akan langsung ke driver mysql, sebagai parameter (bukan dalam teks kueri) sehingga tidak ada injeksi. Anda dapat meninggalkan karakter apa pun yang Anda inginkan dalam string, tidak perlu menghapus atau mengutip karakter.