Ich weiß, wie man eine Liste einer Zeichenfolge zuordnet:
foostring = ",".join( map(str, list_of_ids) )
Und ich weiß, dass ich Folgendes verwenden kann, um diesen String in eine IN-Klausel zu bekommen:
cursor.execute("DELETE FROM foo.bar WHERE baz IN ('%s')" % (foostring))
Was ich brauche, ist das gleiche mit SASELD (Vermeidung von SQL-Injection) mit MySQLDB zu erreichen. Im obigen Beispiel ist Foostring anfällig, da es nicht als Argument für die Ausführung übergeben wird. Ich muss auch außerhalb der MySQL-Bibliothek zitieren und fliehen.
(Es gibt eine verwandte SO-Frage , aber die dort aufgeführten Antworten funktionieren entweder nicht für MySQLDB oder sind anfällig für SQL-Injection.)