Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sqlite3.ERROR:在sqlite3 python中,update命令没有这样的列_Python_Python 3.x_Sqlite - Fatal编程技术网

sqlite3.ERROR:在sqlite3 python中,update命令没有这样的列

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

我正在尝试使用下面的函数更新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 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()