Я знаю, как сопоставить список со строкой:
foostring = ",".join( map(str, list_of_ids) )
И я знаю, что я могу использовать следующее, чтобы получить эту строку в разделе IN:
cursor.execute("DELETE FROM foo.bar WHERE baz IN ('%s')" % (foostring))
Мне нужно сделать то же самое БЕЗОПАСНО (избегая инъекции SQL) с помощью MySQLDB. В приведенном выше примере, поскольку foostring не передается в качестве аргумента для выполнения, он уязвим. Мне также нужно процитировать и выйти за пределы библиотеки mysql.
(Существует вопрос связанный вопрос SO, но ответы, перечисленные там, либо не работают для MySQLDB, либо уязвимы для SQL-инъекции.)