python - 如何使用 python 将 IN 或 NOT IN 子句作为变量传递给 postgresql 查询

标签 python postgresql variables in-clause

如何将 INNOT IN 子句作为变量传递给查询?

当我在下面的查询中传递变量时,我得到:

SELECT * FROM table_name WHERE column_name 'IN' ('product', 'category')

对于引号 'IN' 的存在触发错误

query_clause = 'IN' 
##query_clause could equal 'NOT IN'

cur = my_connection.cursor()
cur.execute("SELECT * FROM table_name WHERE column_name %s ('product', 'category')", (query_clause,))

最佳答案

是的,这是预期的。请改用 bool 参数:

SELECT * FROM table_name
  WHERE (column_name IN ('product', 'category')) = %s

然后您可以将 true 或 false 传递给参数。

关于python - 如何使用 python 将 IN 或 NOT IN 子句作为变量传递给 postgresql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38035031/

相关文章:

python - 如何删除包含在同一字符串列表中的其他字符串中的字符串?

postgresql - postgres 中的时间旅行 - 违反 PRIMARY KEY 约束

sql - 如何使用 postgresql 对字符串上的自定义排序顺序的查询进行排序?

包含笛卡尔坐标的 C 程序变量?

iphone - 如何调用采用可变数量参数的方法的父类(super class)实现,如 [UIAlertView initWithTitle ...]?

javascript - Promise 和 Node 使变量在不同的函数中可用

python - Splinter:按风格查找

python - 未实现错误: Operator 'getitem' is not supported on this expression

python - 读取文件时Python中的UnicodeDecodeError,如何忽略错误并跳转到下一行?

sql - 通常在 POSTGRES 中删除外键