2017-10-18 72 views
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 ]) 

我能夠使用單個值運行查詢,但獲取數組的格式錯誤。

+0

在重複的情況下,你需要改變'?''到%s'因爲Postgres使用不同的佔位符,但原理是相同的。 – roganjosh

+0

如果您使用psycopg2作爲您的DB-API驅動程序,您可以將它作爲參數傳遞給一個元組,它將爲IN運算符形成一個合適的表單:http://initd.org/psycopg/docs/usage。 HTML#元組適應。無需手動創建逗號分隔的佔位符。 –

回答

相關問題