【发布时间】:2021-01-11 06:45:33
【问题描述】:
我有这样的代码:
conn = pyodbc.connect(<Connection Details>)
c = conn.cursor()
employee_id=(100,101)
query = "select * from employees where employeeid in ?"
c.execute(query,employee_id)
我收到此错误:
'SQL 包含 1 个参数标记,但提供了 2 个参数', 'HY000'
有没有办法传递这个参数?我不想通过串联创建动态数组。
在多个where条件的情况下,有没有办法在查询中命名参数标记?
【问题讨论】:
-
每个
?与 1 个参数相关。您已经传递了 2 个参数。你预计会发生什么?如果你想做超过 1 个查询,你应该运行类似executemany的东西,或者运行executre超过 1 次 -
从这里检查接受的答案:stackoverflow.com/questions/4574609/…
-
@Som-1 你是对的,我误读了代码,这就是我删除评论的原因
-
@MZ.可能有多个员工 ID。所以我们无法预先确定“?”的数量
标签: python sql sql-server pyodbc