准备好的sql语句中的int的Python列表

Martijn de Munnik

我的问题与Python到SQL IN参数的字符串列表有些相同,但是我有一个整数列表。我使用的python代码是:

ids = [1000032, 1000048]
sql = 'SELECT CompNo, CompName, CompType FROM Component WHERE DeptID IN (?)'    
cursor.execute(sql, [','.join(ids)])

Sybase数据库引擎的响应为:

pyodbc.Error: ('07006', "[07006] [Sybase][ODBC Driver][SQL Anywhere]Cannot convert '1000032','1000048' to a numeric (-157) (SQLExecDirectW)")

正确的方法是什么?

布赖恩

IMO使用str.format使用占位符构建动态查询字符串的更易读的方法

ids = [1000032, 1000048]
sql = 'SELECT CompNo, CompName, CompType FROM Component WHERE DeptID IN ({0})' 
sql = sql.format(','.join('?' * len(ids)))
cursor.execute(sql, (ids,))
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在准备好的语句中准备失败

来自分类Dev

在准备好的语句中使用列表

来自分类Dev

如何在准备好的语句中设置列表

来自分类Dev

准备好的SQL语句中的NodeJS MSSQL WHERE

来自分类Dev

SQL =如果准备好的语句中不存在?

来自分类Dev

准备好的语句中的异常

来自分类Dev

准备好的语句中的异常

来自分类Dev

准备好的语句中的$ row [''] PHP

来自分类Dev

准备好的SQL语句未“准备”

来自分类Dev

创建准备好的SQL语句,其中SQL语句中的值已经相等(SQL注入)

来自分类Dev

SQL 准备好的语句。PHP

来自分类Dev

如何在内部 sql 语句中使用准备好的语句?

来自分类Dev

如何将整数值列表发送到准备好的语句中

来自分类Dev

在 C# 准备好的语句中执行多个 SQL 查询

来自分类Dev

从准备好的语句中获取文本(PHP,PDO)

来自分类Dev

“在准备好的语句中未提供参数数据”

来自分类Dev

在PHP准备好的语句中插入日期

来自分类Dev

在MySQLi准备好的语句中,STMT代表什么?

来自分类Dev

从mysqli准备好的语句中选择随机行

来自分类Dev

在PDO准备好的语句中验证password_hash()

来自分类Dev

在准备好的语句中设置一行null

来自分类Dev

在准备好的语句中提取数组时出错

来自分类Dev

计算PDO准备好的语句中的行数

来自分类Dev

从准备好的语句中获取表名

来自分类Dev

在准备好的语句中获取列名而不是值

来自分类Dev

在 PHP MySQLi 准备好的语句中结合 LIKE 和 IN

来自分类Dev

准备好的语句在 LIKE 子句中缺少绑定变量

来自分类Dev

php mysqli在准备好的语句中重复字段

来自分类Dev

提取准备好的语句