【发布时间】:2011-05-20 01:46:13
【问题描述】:
我正在尝试查询我的 sqlite3 数据库并使用列表中的值。这是我的代码:
for i in range(len(infolist)):
result = cursor.execute('SELECT COUNT(DISTINCT col1)
FROM tablename
WHERE col2 = ?', (infolist[i]))
我收到此错误:
ProgrammingError: '提供的绑定数量不正确。当前语句使用 1,提供了 22 个。'
字符串有 22 个字符,这解释了为什么有 22 个绑定。显然我没有将字符串正确地传递到 SQL 语句中。
【问题讨论】:
-
使用
IN子句,如果可以将数组转换为逗号分隔的列表,会更好地工作并减少循环的需要。