python - SQLITE3 Python 更新带有变量的记录不起作用?

标签 python mysql sql python-3.x sqlite

在我的 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/

相关文章:

python - SQLAlchemy 自动映射数据并覆盖某些列

python - 覆盖 SQL Alchemy ORM 过滤条件

mysql - Hibernate findById 没有找到它以前找到的记录

sql - 使用 VBA 宏对工作簿内的 Excel 表执行 SQL 查询

mysql - 尝试输入多个表时数据丢失(讨论)

mysql - 查询以获取有值和无值的行数 - 1query

python - 在 PyCharm 中对齐键值对

python - 计算 Pandas 中第一个事件的第 n 天

mysql - 创建表时 Java SQL 语法错误

php - 对数据库中的数据求和后输出错误