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