gpt4 book ai didi

python - SQLAlchemy 和原始 SQL : List as an input

转载 作者:行者123 更新时间:2023-11-29 23:17:22 28 4
gpt4 key购买 nike

我正在使用 Flask-SQLAlchemy,并且在 SQL 语法中的 IN 子句方面遇到一些问题。我希望 IN 子句“读取”的数据是包含一些数据的列表,例如

args = [1, 2, 3]

这是我的代码的样子。

connection = db.session.connection()
raw_sql = text("""
SELECT
*
FROM
table
WHERE data IN :list
""")
query = connection.engine.execute(raw_sql, {'list' : args})

我尝试向 args 参数插入元组和列表,但没有任何效果。我要么得到:

  • 无法使用 args = tuple([1, 2, 3]) 将 Python“tuple” 转换为 MySQL 类型
  • 使用 args = [1, 2, 3] 时,Python“列表”无法转换为 MySQL 类型


如何使用 SQLAlchemy 并使用 RAW SQL 和参数作为输入从列表中读取内容?

最佳答案

在 python 3.7 上:

import sqlalchemy

args = [1, 2, 3]
raw_sql = "SELECT * FROM table WHERE data IN :values"
query = sqlalchemy.text(raw_sql).bindparams(values=tuple(args))
conn.engine.execute(query)

关于python - SQLAlchemy 和原始 SQL : List as an input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27656459/

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