gpt4 book ai didi

列表变量中的 Python SQL Select 语句?

转载 作者:IT王子 更新时间:2023-10-29 06:29:35 26 4
gpt4 key购买 nike

我正在尝试查询我的 sqlite3 数据库并使用列表中的值。这是我的代码:

for i in range(len(infolist)):
result = cursor.execute('SELECT COUNT(DISTINCT col1)
FROM tablename
WHERE col2 = ?', (infolist[i]))

我收到这个错误:

ProgrammingError: 'Incorrect number of bindings supplied. The current statement uses 1, and there are 22 supplied.'

字符串有 22 个字符,这解释了为什么有 22 个绑定(bind)。显然我没有将字符串正确传递到 SQL 语句中。

最佳答案

cursor.execute 的第二个参数是一个序列,您已将一个字符串(它是一个字符序列)传递给它。如果你想做一个 1 元素的元组,你需要一个逗号。即 ('item',) 而不是 ('item')

此外,您应该遍历项目而不是使用 range 和 i:

for info in infolist:
result = cursor.execute('SELECT COUNT(DISTINCT col1)
FROM tablename
WHERE col2 = ?', (info,))

关于列表变量中的 Python SQL Select 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6066681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com