我试图在python 2.7匹配参数中迭代两个列表,以从数据库中恢复与两者匹配的项目。我是一个新手,我不明白为什么这一直给我上面的错误,因为我把光标加到了两个元组。
for iter in xrange (len(vc)):
for i in sc:
print i, vc[iter]
cur.execute('SELECT Origional_line FROM BabsDB_Samples WHERE sample_id = ? AND visit_id = ?', ( i, vc[iter] ))
rows = cur.fetchall()
收益率:
(1320,)(9,)
sqlite3.InerfaceError:绑定参数0时出错 - 可能是不支持的类型。
答案 0 :(得分:1)
从print
的输出看,vc
和sc
的元素看起来像是包含ID的元组,而不仅仅是ID本身。如果您无法更改列表的创建方式,则需要在查询中使用它们时将其编入索引。
cur.execute('SELECT Origional_line FROM BabsDB_Samples WHERE sample_id = ? AND visit_id = ?', ( i[0], vc[iter][0] ))