Sử dụng list_of_ids
trực tiếp:
format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
tuple(list_of_ids))
Bằng cách đó, bạn tránh phải tự báo giá và tránh tất cả các loại tiêm sql.
Lưu ý rằng dữ liệu (list_of_ids
) sẽ trực tiếp đến trình điều khiển của mysql, dưới dạng một tham số (không có trong văn bản truy vấn) nên không có nội dung nào. Bạn có thể để lại bất kỳ ký tự nào bạn muốn trong chuỗi, không cần xóa hoặc trích dẫn các ký tự.