【发布时间】:2017-10-09 17:45:34
【问题描述】:
我正在尝试使用 psycogp2 从 postgresql 数据库中检索一些数据,并排除可变数量的行或不排除任何行。
我目前的代码是:
def db_query(variables):
cursor.execute('SELECT * '
'FROM database.table '
'WHERE id NOT IN (%s)', (variables,))
这确实部分有效。例如。如果我打电话:
db_query('593')
它有效。对于任何其他单个值也是如此。但是,当我输入多个变量时,我似乎无法让它工作,例如:
db_query('593, 595')
我得到错误:
psycopg2.DataError: invalid input syntax for integer: "593, 595"
我不确定如何正确输入查询或修改 SQL 查询。任何帮助表示赞赏。
谢谢
【问题讨论】:
-
参数应该是一个列表或者一个元组。见initd.org/psycopg/docs/…(在“列表改编”下)
标签: sql postgresql psycopg2