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

Python执行SQL批量更新行字段时出现语法错误,求排查

问题分析与解决

你的SQL语句语法错误的核心原因是重复使用了SET关键字。在SQL的UPDATE语句中,SET只需要写一次,多个字段的赋值用逗号分隔即可,不需要每个字段前都重复添加SET。

错误代码中的问题点

原代码里的SQL语句存在明显语法错误:

update MainDB set name=%s, set opportunity=%s, set value=%s, set stage=%s, set startdate=%s, set lastupdate=%s where rowid = %s

这里每个字段前都重复写了set,违反了SQL的语法规范,直接导致了报错。

修正后的代码

c.execute('update MainDB set name=%s, opportunity=%s, value=%s, stage=%s, startdate=%s, lastupdate=%s where rowid = %s', 
          (name, opportunity, value, Stage, startdate, date, rowid))

额外注意事项

  • 检查变量Stage和表结构中的字段stage大小写是否匹配:部分数据库(如PostgreSQL)对字段名大小写敏感,若表字段是小写的stage,建议变量名也改为小写stage,避免潜在的匹配问题。
  • 你提供的表结构中startdate (text)后面缺少逗号,这应该是输入笔误,实际建表时需要保证语法正确。

内容的提问来源于stack exchange,提问作者Confused Coder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 22:33:11