2

我正在尝试将记录插入或更新到 sqlite 数据库中,并且仅在新值大于旧值时才更新值。

架构是:

 CREATE table IF NOT EXISTS SearchTable
   (Owner INTEGER PRIMARY KEY, Generations INTEGER DEFAULT 0)

我试过这样的命令:

INSERT OR REPLACE INTO SearchTable(Owner, Generations)
 VALUES (?, MAX((SELECT Generations FROM SearchTable WHERE Owner = ?), ?))

但它给了我世代的空值。

我可以使用一些帮助。

4

1 回答 1

7

尝试

INSERT OR REPLACE INTO SearchTable(Owner, Generations)
SELECT ?, MAX(Generations) FROM SearchTable WHERE Owner = ?
于 2013-03-21T05:21:21.357 回答