python - python 如何在sql中使用变量
问题描述
我有一个数据库:
datas.db ---> 表 bk
- Id --自动编号
- 名称——字符串
- 数字——数字
- 定时器——字符串
代码 Python
self.db = sqlite3.connect("library.db")
self.cur = self.db.cursor()
search_name = self.lineEdit_1.text()
name = self.lineEdit_2.text()
number_age = self.lineEdit_3.text()
description = self.lineEdit_4.text()
self.cur.execute("UPDATE bk SET (Name ='?',Number =?, Timer ='?') WHERE Name ='?'",(name,number_age,description,search_name))
self.db.commit()
现在我得到一个语法错误,我已经看到他们使用这个
"Name ='%s'"%name)
但是当我有几个变量时我不知道如何使用它
解决方案
根据SQLLite Docs,您的代码应该看起来像。
你的查询是错误的,从
UPDATE bk SET (Name ='?',Number =?, Timer ='?') WHERE Name ='?'
到
UPDATE bk SET Name=?, Number=?, Timer=? WHERE Name=?
self.db = sqlite3.connect("library.db")
self.cur = self.db.cursor()
search_name = self.lineEdit_1.text()
name = self.lineEdit_2.text()
number_age = self.lineEdit_3.text()
description = self.lineEdit_4.text()
self.cur.execute("UPDATE bk SET Name=?, Number=?, Timer=? WHERE Name =?",(name, number_age, description, search_name))
self.db.commit()
推荐阅读
- image - 将图片作为二维矩阵输入
- visual-studio - 我可以在构建之前在 Visual Studio proj 文件中自动设置 AssemblyVersion 吗?
- webserver - 究竟什么是 Web 服务器和应用程序服务器?
- python - pandas groupby 不保留顺序?
- python - 了解使用 Django 连接到 AWS RDS MySQL 数据库时使用哪个数据库作为“名称”
- python - 寻找一种更简洁的方法来使用 Pandas 实施此解决方案
- reactjs - 使用 gsap 反应过渡组,未调用 Exiting 和 Exited
- javascript - 如何从json中拆分对象数组?
- javascript - 包含的 HTML 文件 javascript 不起作用
- kubernetes - 用于创建 statefulset 副本的 Kubernetes-operator