implodere un elenco da utilizzare in una clausola python MySQLDB IN

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

So come mappare una lista su 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 SICUREZZA (evitando SQL injection) usando MySQLDB. Nell'esempio precedente, poiché footstring non viene passato come argomento da eseguire, è vulnerabile. Devo anche citare ed evadere al di fuori della libreria mysql.

(C'è una domanda SO relativa

a>, ma le risposte elencate non funzionano per MySQLDB o sono vulnerabili a SQL injection.)