我有一个要从数据库中获取的行 ID 列表。我正在使用 python 和 psycopg2,我的问题是如何有效地将这些 ID 传递给 SQL?我的意思是,如果我知道该列表的长度,那将非常容易,因为我总是可以根据需要手动或自动将尽可能多的“%s”表达式添加到查询字符串中,但在这里我不知道我需要多少.重要的是我需要使用 sql “id IN (id1, id2, …)” 语句选择那些行。我知道可以检查列表的长度并将适当数量的“%s”连接到查询字符串中,但我担心它会非常缓慢和丑陋。有没有人知道如何解决它?请不要问我为什么需要用“IN”语句来做——它是一个基准,是我课堂作业的一部分。提前致谢!
原文由 k_wisniewski 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 元组在 psycopg2 中转换为 sql 列表:
会输出
对于 Python 新手:不幸的是,这里使用元组而不是列表很重要。这是第二个例子: