Я знаю, как сопоставить список со строкой:
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-инъекции.)