gpt4 book ai didi

python - Python SQL 语句中的变量

转载 作者:行者123 更新时间:2023-11-29 13:54:54 33 4
gpt4 key购买 nike

我有包含 id 和字符串变量的整数列表。如何在 SQL 语句中使用这些变量?如果我使用这个:

list_of_ids = [1,2,3]
s_date = '2015-01-01'

cursor.execute("""
SELECT * FROM foo WHERE id IN (%s)
AND start_date=%s
""", (list_of_ids,s_date))

list_of_ids 将包含在不应该的引号中。

这个问题与这个imploding a list for use in a python MySQLDB IN clause有关但只有 IN 语句部分。

我正在使用 psycopg2 连接——以防万一。

最佳答案

构建parameters作为序列(以下示例中的列表)。您需要相应地调整 sql 部分。

in_part = ','.join('%s' for _ in list_of_ids)
sql = "SELECT * FROM foo WHERE id IN (%s) AND start_date=%%s" % (in_part,)
params = list_of_ids + [s_date] # [1, 2, 3, '2015-01-01']
cursor.execute(sql, params)

关于python - Python SQL 语句中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170387/

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