sqlite3.OperationalError: 附近有",": 语法错误 - 更新数据库
在尝试更新我的数据库时,遇到了以下错误:
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))
(注意:修改你用来查找这一行的三个列是没有意义的。)