sqlite3.ERROR:在sqlite3 python中,update命令没有这样的列
我正在尝试使用下面的函数更新sqlite数据库中的值sqlite3.ERROR:在sqlite3 python中,update命令没有这样的列,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,我正在尝试使用下面的函数更新sqlite数据库中的值 def updateNameById(self, id, val): c.execute("UPDATE {0} SET name = {1} WHERE rowid = {2}".format(table,val,id)) 我还尝试用不同的变体编写这个函数,比如 c.execute("UPDATE "+table+" SET name = "+val+" WHERE rowid = "+id) #same erro
def updateNameById(self, id, val):
c.execute("UPDATE {0} SET name = {1} WHERE rowid = {2}".format(table,val,id))
我还尝试用不同的变体编写这个函数,比如
c.execute("UPDATE "+table+" SET name = "+val+" WHERE rowid = "+id)
#same error
我也试过了
c.execute("UPDATE ? table SET name = ? WHERE rowid = ?,(table,val,id))
#this one gives syntax error near ?
当使用代码从调用时
print(obj.updateNameById(1,'Aquib'))
它给
sqlite3.ERROR:没有这样的列:Aquib
我还尝试将id参数设置为字符串和双单引号,但在尝试了许多组合并查找了所有答案后,所有结果都是相同的错误。我最终发布了这个问题数据库名称:data.db,
桌子:桌子。
试试这个,它对我很管用
def updateNameById(id, val):
connection = sqlite3.connect('data.db')
connection.row_factory = sqlite3.Row
cursor = connection.cursor()
cursor.execute('UPDATE table SET name=? WHERE id=?',(val,id,))
connection.commit()
conn = sqlite3.connect("dbName")
cursor = conn.cursor()
def updateNameById(self, id, val):
cursor.execute('UPDATE table SET name=? WHERE id=?',(val,id,))
conn.commit()