list_of_ids
を使用します 直接:
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
そうすれば、自分自身を引用する必要がなくなり、あらゆる種類のSQLインジェクションを回避できます。
データ(list_of_ids
)は(クエリテキストではなく)パラメータとしてmysqlのドライバに直接送信されるため、インジェクションはありません。文字列には任意の文字を残すことができ、文字を削除したり引用符で囲んだりする必要はありません。