在 postgresql 的引号或其他需要引号的代码行中列出?

List within quotes of postgresql or other lines of code with quotes necessary?

这是一个由两部分组成的问题。 我有一个列表,列表中有一个项目

listA=["12345"]

我想将此列表中的项目用于我的 postgres 查找。代码如下所示:

cur.execute("SELECT DISTINCT first_name, actor_id FROM actor t WHERE  actor_id = 'listA'")

我想拨打我列表中的号码“12345”,但如果号码前后没有“ ”,postgres 会感到困惑。即使我省略了 ' ',我仍然需要在整个语句周围加上引号。当我需要报价时,我怎样才能让它工作?我认为正确的名称是嵌套引号。

还有其他时间点我想引用列表,但引号总是起作用并阻止这种情况发生。其他时候列表中会有多个变量。

通常,在向我的查询中添加变量时,我会使用 .format() 函数。

list = [12345]
query = ""SELECT DISTINCT first_name, actor_id FROM actor t WHERE  actor_id = '{0}'"
query = query.format(list[0])
ids = [10, 20, 30]

cur.execute("SELECT * FROM data WHERE id = ANY(%s);", (ids,))