我正在尝试将记录插入或更新到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 = ?), ?))

但它给了我一个空值。
我需要一些帮助。

最佳答案

尝试

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

08-17 21:41