【发布时间】:2015-11-17 08:17:23
【问题描述】:
我正在尝试使用 IN() 子句执行 SELECT 查询,并让 sqlalchemy 执行
参数为我转义。我使用 pyodbc 作为我的数据库连接器。
这是我目前写的代码:
tables = ['table1', 'table2', ... ]
sql = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME IN(:tables)"
result = session.execute(sql, {"tables": tables})
不幸的是,这失败并出现错误:
sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('Invalid parameter type. param-index=0 param-type=list', 'HY105')
有什么方法可以让 sqlalchemy 转义整个参数列表并将它们与, 连接起来
无需为列表的每个项目手动添加 :tableX 占位符?
【问题讨论】:
标签: python sql-server python-2.7 sqlalchemy