Gebruik de list_of_ids
direct:
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
Zo voorkom je dat je jezelf moet quoten en vermijd je allerlei sql-injecties.
Merk op dat de gegevens (list_of_ids
) gaat rechtstreeks naar de driver van mysql, als een parameter (niet in de vraagtekst), dus er is geen injectie. U kunt alle tekens die u wilt in de tekenreeks laten staan, u hoeft geen tekens te verwijderen of aan te halen.