imploser une liste à utiliser dans une clause python MySQLDB IN

| | | | | | | | | | | | | | | |

Je sais comment mapper une liste sur une chaîne :

foostring = ";".join( map(str, list_of_ids) ) 

Et je sais que je peux utiliser ce qui suit pour insérer cette chaîne dans une clause IN :

cursor.execute("DELETE FROM foo.bar WHERE baz IN ("%s")" % ( foostring)) 

Ce dont j'ai besoin, c'est d'accomplir la même chose EN TOUTE SÉCURITÉ (en évitant l'injection SQL) en utilisant MySQLDB. Dans l'exemple ci-dessus, parce que footstring n'est pas passé comme argument à exécuter, il est vulnérable. Je dois également citer et m'échapper en dehors de la bibliothèque mysql.

(Il y a une question SO liée, mais les réponses qui y sont répertoriées ne fonctionnent pas pour MySQLDB ou sont vulnérables à l'injection SQL.)