You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

aioodbc批量插入整数ID列表遇TypeError,求正确实现方式

解决aioodbc批量插入ClaimID的类型错误问题

错误原因

executemany要求传入的参数列表中,每个元素必须是包含对应字段值的可迭代对象(元组、列表或Row)。你直接传入单个整数组成的列表(如[1,2,3]),每个整数无法被识别为合法的参数集,因此触发TypeError。

正确实现方式

将每个整数包装成单元素元组(或列表),构造符合要求的参数列表:

# 转换ID列表格式:把每个整数转为单元素元组
formatted_ids = [(id_,) for id_ in ids]
# 执行批量插入
await cur.executemany('INSERT INTO ML.buffer.ClaimListAPI (ClaimID) VALUES (?);', formatted_ids)

补充说明

对于21000条数据的量级,executemany会自动做分批处理(避免单条SQL过长),不需要额外拆分。如果追求更高性能,也可以手动构造批量插入SQL(如INSERT INTO ... VALUES (?), (?), ...),但需要注意数据库对SQL语句长度的限制,executemany的方式更稳妥。

内容的提问来源于stack exchange,提问作者Alex Nikitin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:31:26