在我的 sql 语句中,我尝试向一条记录添加 2 个值,其中该记录的 id 等于某个数字。所有这 3 个值都是变量。我收到错误“sqlite3.OperationalError:靠近“SET”:语法错误”。
有什么线索可以告诉我我做错了什么吗? 谢谢!
self.db = sqlite3.connect("aLevelTracker.db")
self.cursor = self.db.cursor()
if self.typeOfAccount=="student":
self.cursor.execute("UPDATE student SET username = ? AND SET password = ? WHERE student_id = ?",((self.username),(self.passwordHash),(self.lastID)))
if self.typeOfAccount=="teacher":
self.cursor.execute("UPDATE teacher SET username=? AND SET password = ? WHERE teacher_id = ?",((self.username),(self.passwordHash),(self.lastID)))
self.db.commit()
self.db.close()
最佳答案
您不需要AND
:
"UPDATE student SET username = ?, password = ? WHERE student_id = ?"
"UPDATE teacher SET username=?, password = ? WHERE teacher_id = ?"
关于python - SQLITE3 Python 更新带有变量的记录不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48735498/