Använd list_of_ids
direkt:
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
På så sätt slipper du behöva citera dig själv och slipper alla typer av sql-injektion.
Observera att data (list_of_ids
) går direkt till mysqls drivrutin, som en parameter (inte i frågetexten) så det finns ingen injektion. Du kan lämna vilka tecken du vill i strängen, du behöver inte ta bort eller citera tecken.