0
当我必须在语句中传递多个值时,我在Python中编写PostgreSQL select语句时遇到问题。以下是示例示例。如何在PostgreSQL select语句中将数组赋值为变量?
from sqlalchemy import create_engine
values = [ 'a' , 'b' ]
con = create_engine(conn_string)
results = con.execute("select * from table where var in (%s)", [ values ])
我能够使用单个值运行查询,但获取数组的格式错误。
在重复的情况下,你需要改变'?''到%s'因为Postgres使用不同的占位符,但原理是相同的。 – roganjosh
如果您使用psycopg2作为您的DB-API驱动程序,您可以将它作为参数传递给一个元组,它将为IN运算符形成一个合适的表单:http://initd.org/psycopg/docs/usage。 HTML#元组适应。无需手动创建逗号分隔的占位符。 –