sqlite3.OperationalError: 附近有",": 语法错误 - 更新数据库

-2 投票
2 回答
3238 浏览
提问于 2025-05-11 02:06

在尝试更新我的数据库时,遇到了以下错误:

sqlite3.OperationalError: near ",": syntax error

这是导致错误的代码部分:

cursor.execute("""UPDATE SchoolRecordsTable SET Event, Year, YearGroup, Student, Gender, Result WHERE Event=? and YearGroup=? and Gender=? VALUES(?, ?, ?, ?, ?, ?)""", (event_name, dateyear, year, studentname, gender, student_results, event_name, year, gender))

db.commit()

有没有人知道为什么会出现这个错误?另外,更新数据库时我需要写“VALUES(?, ?...)”吗?我试过有和没有这两种情况,但因为出现了OperationalError,我无法检查。

相关文章:

  • 暂无相关问题
暂无标签

2 个回答

0

你需要使用这个语法:cursor.execute('update table set a=? where id=?', a, id)
试试这个:

cursor.execute("""UPDATE SchoolRecordsTable SET Event=?, Year=?, YearGroup=?, Student=?, Gender=?, Result=? WHERE id=? """, (event_name, dateyear, year, studentname, gender, student_results, your_id))

如果需要更多帮助,请提供更多细节。

0

这不是一个正确的UPDATE语句写法。

你可以用下面这样的方式:

cursor.execute("""UPDATE SchoolRecordsTable
                  SET Event=?, Year=?, YearGroup=?, Student=?, Gender=?, Result=?
                  WHERE Event=? and YearGroup=? and Gender=?;""",
               (event_name, dateyear, year, studentname, gender, student_results,
                event_name, year, gender))

(注意:修改你用来查找这一行的三个列是没有意义的。)

撰写回答