gpt4 book ai didi

python - 使用 python 和 postgres,execute 函数中的变量?

转载 作者:行者123 更新时间:2023-11-28 21:19:20 27 4
gpt4 key购买 nike

我对访问 PostgreSQL 服务器的 python 函数中变量的使用有疑问。例如,以下内容:

def delete():
cur.execute(
"""DELETE FROM potluck
WHERE name = var_1;"""

但是,如果我想让更新函数接受 var_1 的变量,我该怎么做呢?

例如,我希望我的函数采用以下形式:

def delete(var_1):
cur.execute(
"""DELETE FROM potluck
WHERE name = %s;""", (var_1))

但是,仅仅输入是行不通的。

此外,在以下情况下如何:

def delete(name, var_1):
cur.execute(
"""DELETE FROM potluck
WHERE %s = %s;""", (name, var_1))

我不希望“名称”在插入字符串时带有引号?

如有任何帮助,我们将不胜感激!

最佳答案

要传递标识符,请使用 psycopg2.extensions.AsIs

from psycopg2.extensions import AsIs

def update(table_name, var_1, var_2):
cur.execute("""
UPDATE %s
SET %s = 'Y'
WHERE %s = 'John';
""",
(AsIs(table_name), AsIs(var_1), AsIs(var_2))
)

关于python - 使用 python 和 postgres,execute 函数中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789231/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com