sqlite3.OperationalError:near“,”:语法错误 - 更新数据库

时间:2015-11-25 10:15:01

标签: python database syntax sqlite

尝试更新数据库时,

出现以下错误:

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 :(得分: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))

如需更多帮助,请添加更多详细信息。