Python pymssql executemany删除列表中的值

时间:2017-01-11 21:16:09

标签: python pymssql

我正在使用python 2.7在MS SQL 2012数据库上执行CRUD操作。

我有一个名为" ComputerIDs"。

的ID列表

我想运行一个查询,删除数据库中ID等于列表中某个ID的所有记录。

我尝试了以下但是似乎没有用。

cursor.executemany("DELETE FROM Computer WHERE ID=%s", ComputerIDs)

2 个答案:

答案 0 :(得分:2)

我能够解决这个问题。

query_string = "DELETE FROM Computer WHERE ID = %s"
cursor.executemany(query_string, ComputerIDs)

有人能告诉我这个查询是否正确参数化并且安全地从SQL注入?

答案 1 :(得分:0)

sql='DELETE FROM Computer WHERE ID  IN (%s)' 
 inlist=', '.join(map(lambda x: '%s', ComputerIDs))
sql = sql % inlist
cursor.execute(sql, ComputerIDs)