implodindo uma lista para uso em uma cláusula python MySQLDB IN

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

Sei como mapear uma lista para uma string:

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

E eu sei que posso usar o seguinte para colocar essa string em uma cláusula IN:

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

O que eu preciso é realizar a mesma coisa com SEGURANÇA (evitando injeção de SQL) usando MySQLDB. No exemplo acima, como o footstring não é passado como argumento para execução, ele é vulnerável. Eu também tenho que citar e escapar fora da biblioteca mysql.

(Há uma pergunta SO relacionada

a>, mas as respostas listadas não funcionam para MySQLDB ou são vulneráveis à injeção de SQL.)