有效使用 WHERE IN 语句
WHERE IN 语句对于根据指定值集匹配记录至关重要。然而,正确构建它可能具有挑战性。
如果您尝试使用:
WHERE obj IN (?)
如果提供的值的数量与参数的数量不匹配,您可能会遇到错误。要解决此问题:
statement = "SELECT * FROM tab WHERE obj IN ({0})".format(', '.join(['?'] * len(list_of_vars))) c.execute(statement, list_of_vars)
在此方法中,我们使用“.join()”和“.format()”动态生成具有正确数量的参数占位符的语句。
或者,为了更有效地处理大型变量列表,请考虑使用临时表。将临时表与主表连接起来,而不是使用带有绑定参数的 IN 子句。此优化通过减少所需的数据库绑定数量来提高性能。
以上是如何有效使用具有多个值的 WHERE IN 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!