【问题标题】:SQlite UPDATE WHERE Syntax ErrorSQlite UPDATE WHERE 语法错误
【发布时间】:2018-03-09 20:47:50
【问题描述】:

我有这个代码,在 tkinter 中有 2 个输入框,它们通过数据库传递。我正在尝试创建和更新查询来更新数据库中的记录,但是我不知道如何从输入框中创建它。我已经研究过这个错误。锻炼和体重是两个输入框,其中 MemberID 用于标识要更新的记录。这是代码

        cursor.execute('''

        UPDATE Exercises
        SET (Exercise =?, Weight = ?)
        WHERE MemberID=? ;


    ''')

错误是sqlite3.OperationalError: near "(": syntax error

【问题讨论】:

  • 请不要在有人发布答案后更改您的代码。这会导致混乱

标签: python sql sqlite sql-update syntax-error


【解决方案1】:

set 子句不应该用括号括起来,只需删除它们就可以了:

UPDATE Exercises
SET    Exercise = ?, Weight = ?
WHERE  MemberID = ?;

【讨论】:

  • 这会产生错误sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 3, and there are 0 supplied.
  • @JohnMcNulty 好吧,您使用的是?,因此您应该将参数提供给executesqlite 应该如何知道用什么替换 ??阅读参数化查询的工作原理
  • 我现在编辑了问题以包含更多代码。
猜你喜欢
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
  • 2020-11-29
  • 2020-10-17
  • 1970-01-01
相关资源
最近更新 更多