【发布时间】:2019-05-31 19:21:50
【问题描述】:
假设我有一组 ID:
ids = (1,2,3,4,5)
使用 python,我想从不包含这些 ID 之一的数据库表(称为计划)中删除每一行。
这是我尝试过的:
delete_stmt = "DELETE from schedule WHERE ID NOT IN %s"
...
cursor.execute(delete_stmt, ids)
我已经排除了连接数据库等不必要的代码,但我连接正常。
我收到一条错误消息:
You have an error in your SQL syntax...
如何修复我的代码以从调度表中删除在 ids 元组中找不到的行?
【问题讨论】:
-
你不能参数化元组;每个元组元素都需要一个参数。
-
如果我不知道元组有多长,我该怎么做?
-
通常它涉及动态构造具有相应数量的参数的查询字符串。我对python不是很熟悉,this有帮助吗?