Utilisez la list_of_ids
directement :
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
De cette façon, vous évitez d'avoir à vous citer et évitez toutes sortes d'injections sql.
Notez que les données (list_of_ids
) va directement au pilote mysql, en tant que paramètre (pas dans le texte de la requête) donc il n'y a pas d'injection. Vous pouvez laisser tous les caractères que vous voulez dans la chaîne, pas besoin de supprimer ou de citer des caractères.