在 SQLite 中处理“WHERE _ IN ___”语句
使用 WHERE IN SQLite 中的语句,确保语句的正确构造至关重要,以避免错误。当提供的绑定数量与预期数量不匹配时,就会出现问题,从而导致编程错误。
要解决此问题,您需要修改语句以包含正确数量的问号 (?),如下所示参数。例如:statement = "SELECT * FROM tab WHERE obj IN ({0})".format(', '.join(['?'] * len(list_of_vars)))
join([?]*len(list_of_vars))_ 生成逗号分隔的问号字符串,从而允许正确绑定参数值。例如,如果 _list_of_vars 包含 ['foo', 'bar'],则语句变为:
"SELECT * FROM tab WHERE obj IN (?, ?)"
list_of_vars 作为执行此语句参数值:
c.execute(statement, list_of_vars)
以上是如何在 SQLite 中正确处理带有绑定参数的'WHERE IN”语句?的详细内容。更多信息请关注PHP中文网其他相关文章!