Użyj list_of_ids
bezpośrednio:
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
W ten sposób unikniesz konieczności cytowania siebie i wszelkiego rodzaju wstrzyknięć sql.
Zwróć uwagę, że dane (list_of_ids
) trafia bezpośrednio do sterownika mysql jako parametr (nie w tekście zapytania), więc nie ma wstrzyknięcia. Możesz zostawić dowolne znaki w ciągu, nie musisz usuwać ani cytować znaków.