3

我正在尝试使用 sqlite3 和 python 2.7 更新几个特定的​​列。我对 sqlite3 有点陌生。

我的数据库有 7 列(id、日期、columnA、columnB、columnC、columnD、columnE)

我需要更新最后一行的最后五列(A、B、C、D、E)。我有一个充满整数的元组,如下所示:

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

我试过这个:

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

但我得到一个操作错误。

无论如何我可以只用一个命令来做到这一点吗?

非常感谢你的帮助。

4

1 回答 1

4

您的UPDATE语法错误,请使用:

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

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

请参阅UPDATE文档

于 2013-10-04T22:28:19.233 回答