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

SQLite3按WHERE条件插入列值报错:near 'WHERE'语法错误

问题原因与解决方法

你的SQL语法错误,因为INSERT语句不能搭配WHERE子句——INSERT是用来向表中新增一行数据的,而你要做的是修改已存在的、Name列匹配指定值的行,这时候应该用UPDATE语句。

修正后的代码如下:

cours.execute("""UPDATE NewTable 
                 SET Straight = ?, Right = ?, Left = ? 
                 WHERE Name = ?""",
              (DIRECTIONS['straight'], DIRECTIONS['right'], DIRECTIONS['left'], name))
conn.commit()

关键说明:

  • UPDATE语句的语法逻辑是:先指定要更新的表,然后用SET子句定义要修改的列和对应的值,最后用WHERE筛选出需要更新的行
  • 注意占位符?的顺序要和后面元组里的参数顺序完全对应:前三个占位符对应三个列的新值,最后一个对应Name的匹配条件

内容的提问来源于stack exchange,提问作者Or Weisman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:50:42