首页 > 解决方案 > python 如何在sql中使用变量

问题描述

我有一个数据库:

datas.db ---> 表 bk

代码 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)

但是当我有几个变量时我不知道如何使用它

标签: pythonsqlsqlite

解决方案


根据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()

推荐阅读