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

Python SQLite UPDATE函数使用报错:提示'='符号附近存在错误,求排查

解决SQLite UPDATE语句的语法错误问题

嘿,我一眼就看出问题所在啦——你的SQL UPDATE 语句用了错误的语法格式,这才导致了'='符号附近的报错!

错误原因分析

SQLite的UPDATE语句里,SET关键字后面不需要用括号包裹字段赋值。你写的:

UPDATE product SET (product_qty = ?, product_price = ?) WHERE product_name = ?

这种带括号的写法不符合SQLite的语法规范,数据库引擎无法识别,所以会抛出语法错误。

修正后的代码

把SET后面的括号去掉,直接用逗号分隔每个字段的赋值即可,修改后的UpdateNew()函数如下:

def UpdateNew():
    Database()  # 假设这个函数已经正确初始化了conn和cursor
    # 修正SQL语句,去掉SET后面的括号
    cursor.execute("UPDATE product SET product_qty = ?, product_price = ? WHERE product_name = ?", 
                   (int(PRODUCT_QTY.get()), int(PRODUCT_PRICE.get()), str(PRODUCT_NAME.get())))
    conn.commit()
    # 清空输入框内容
    PRODUCT_NAME.set("")
    PRODUCT_PRICE.set("")
    PRODUCT_QTY.set("")
    # 关闭游标和连接
    cursor.close()
    conn.close()

额外提醒

  • 确保你的Database()函数已经正确创建了数据库连接conn和游标cursor,并且它们是当前函数可以访问的(比如全局变量或者函数返回后赋值)。
  • 如果PRODUCT_PRICE可能是小数(比如价格有分),建议用float()而不是int()转换,避免丢失精度。

内容的提问来源于stack exchange,提问作者Angad Kanwar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:00:47