将数组参数传递给SQL命令

时间:2015-06-02 06:40:47

标签: python postgresql python-2.7

在Python 2.7中,我可以将参数传递给sql命令,如下所示:

cursor.execute("select * from my_table where id = %s", [2])

我不能让数组等效工作:

cursor.execute("select * from my_table where id in %s", [[10,2]])

显然,我可以做字符串格式化,但是如果可能的话我想做一个合适的参数。如果重要,我正在使用postgresql数据库。

1 个答案:

答案 0 :(得分:2)

cursor.execute("select * from my_table where id = ANY(%s);", [[10, 20]])

note。要使用IN,请参阅section below

cursor.execute(cursor.mogrify("select * from my_table where id in %s",
                              [tuple([10, 20])]))