gpt4 book ai didi

python - 如何使用 python 执行具有多个动态参数的 postgres 查询

转载 作者:行者123 更新时间:2023-12-05 01:49:14 24 4
gpt4 key购买 nike

我正在尝试使用 cursor.execute 执行 postgres 选择查询。如果参数数量动态变化,我该如何编写查询。

例如

查询可以是一个实例

cursor.execute('SELECT name FROM personal_details WHERE id IN (%s, %s)', (3, 4))

在其他一些情况下查询可以是

cursor.execute('SELECT name FROM personal_details WHERE id IN (%s, %s, %s)', (3, 4, 5))

如果参数在列表中可用,如 ids = [3, 4]ids = [3, 4, 5] 正确的书写方式是什么这个查询

我尝试了以下代码

cursor.execute("SELECT name FROM personal_details WHERE id IN param = %s", [ids['param']])

但是它返回了一个错误,说 TypeError: list indices must be integers or slice, not str

最佳答案

您需要使用 ANYpsycopg2 list adaption :


cursor.execute("SELECT name FROM personal_details WHERE id IN param = ANY(%s)", [ids])

关于python - 如何使用 python 执行具有多个动态参数的 postgres 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74358591/

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