我使用的是,在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])转换为args = tuple([1, 2, 3])类型args = [1, 2, 3]类型如何使用SQLAlchemy从列表中读取,并使用原始SQL和参数作为输入?
发布于 2020-03-13 19:34:54
关于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)发布于 2014-12-26 12:26:25
您应该尝试以下方法:
args = [1, 2, 3]
raw_sql = "SELECT * FROM table WHERE data IN %s"
params = [(args,)] # the comma allows to convert the list into a tuple
conn.engine.execute(raw_sql, params)https://stackoverflow.com/questions/27656459
复制相似问题