在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数据库。
答案 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])]))