2013-10-04 74 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

相關問題