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

Python使用executemany向SQL表插入多行数据报错求助

问题排查与解决方案

报错根源

你传入的参数列表val内的元素不符合executemany的要求:Python 中使用括号包裹单个值时,如果末尾不加逗号,不会被识别为元组,只会被判定为普通字符串。你现在val里的每个元素都是字符串类型,不是要求的列表/元组/Row类型,因此触发类型错误。

修复代码

只需给每个单元素的元组末尾加上英文逗号即可:

query = """INSERT INTO TableTest (Summary) Values (%s)"""
val = [
    ('SPHXNORF2ASW1',),
    ('CHNSIRSDB1USAA',),
    ('NKOLGTPRAVPNVM',),
    ('STAMHO3WANCEG',),
    ('SPHXNORWANCEG1',),
    ('SPHXNORWANCE',),
    ('STAMHO3WANCEG',)
]

cursor = conn.cursor()
cursor.executemany(query, val)
conn.commit()

补充说明

你也可以选择用列表包裹单个参数,写法如下,效果完全一致:

val = [
    ['SPHXNORF2ASW1'],
    ['CHNSIRSDB1USAA'],
    # 后续参数同理
]

内容的提问来源于stack exchange,提问作者Arun Ezhil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:57:03