最佳答案
我知道如何将列表映射到字符串:
foostring = ",".join( map(str, list_of_ids) )
我知道我可以使用以下代码将字符串放入 IN 子句中:
cursor.execute("DELETE FROM foo.bar WHERE baz IN ('%s')" % (foostring))
我需要的是使用 MySQLDB 完成同样的事情 SAFELY (避免 SQL 注入)。在上面的示例中,由于 foostring 没有作为要执行的参数传递,因此它是脆弱的。我还必须在 mysql 库之外引用和转义。
(有一个 相关问题,但列出的答案要么不适用于 MySQLDB,要么容易受到 SQL 注入的影响。)