2013-10-04 34 views
2

我想用sqlite3和python 2.7来更新几个特定的​​列。 Im新的sqlite3。如何使用sqlite3更新几个特定的​​列 - python

我有了7列(ID,日期,columnA,columnB,columnC,columnD,columnE)

我需要更新的最后五个列(A,B,C,d,e)从数据库最后一行。 我有一个元组完整的整数这样的:

data = (1,2,3,4,5) 

我tryied这样的:

c.executemany("UPDATE database SET columnA, columnB, columnC, columnD, columnE =  (?,?,?,?,?) WHERE id = (SELECT MAX(id) from database))", data) 

但我得到一个OperationalError。

有没有反正我可以做到这一点只有一个命令?

非常感谢您的帮助。

回答

3

你有UPDATE语法错误,使用:

c.execute(
    "UPDATE database SET columnA=?, columnB=?, columnC=?, columnD=?, columnE=? " 
    "WHERE id = (SELECT MAX(id) from database))", 
    data) 

使用.execute();您只更新一行,而不是更新,并且data仅包含一次更新的值。

查看UPDATE documentation

相关问题