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

Python使用SQLite3时conn.execute报参数数量错误如何解决?

错误原因

Python自带的sqlite3模块中,execute()方法的参数规则为:

  • 第1个参数:待执行的SQL语句字符串,里面的动态值用占位符?代替
  • 第2个(可选)参数:所有占位符对应的取值组成的序列/元组
    你当前的写法把两个动态值作为独立的第3、第4个参数传给了execute(),超出了方法支持的最大参数数量,因此触发TypeError报错。
    另外你最初粘贴的代码中SQL语句末尾的id=后漏写了占位符?,也需要补充。
解决方法

将两个动态值包裹成元组,作为execute()的第二个参数传入即可,修正后的代码如下:

conn.execute("UPDATE instagram SET description_photo = ? WHERE id = ?", (self.inputDescriptionInstagram, self.idPhoto))

注意:如果是单占位符的场景,元组需要保留末尾逗号,写法为(单个取值,),避免被识别为普通变量。

内容的提问来源于stack exchange,提问作者Slavo Heys

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:54:02