出现以下错误:
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 而无法检查。
答案 0 :(得分:0)
这不是correct syntax for an UPDATE statement。
使用类似的东西:
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))
(注意:更改用于查找行的三列是没有意义的。)
答案 1 :(得分: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))
如需更多帮助,请添加更多详细信息。