So come mappare un elenco a una stringa:
foostring = ",".join( map(str, list_of_ids) )
E so che posso usare quanto segue per inserire quella stringa in una clausola IN:
cursor.execute("DELETE FROM foo.bar WHERE baz IN ('%s')" % (foostring))
Quello di cui ho bisogno è realizzare la stessa cosa in modo SICURO (evitando l'iniezione SQL) usando MySQLDB. Nell'esempio precedente, poiché il foostring non viene passato come argomento da eseguire, è vulnerabile. Devo anche citare e scappare al di fuori della libreria mysql.
(C'è una domanda SO correlata , ma le risposte elencate qui o non funzionano per MySQLDB o sono vulnerabili all'iniezione SQL.)