我正在尝试将记录插入或更新到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 = ?), ?))
但是它为Generations提供了一个空值。
我可以使用一些帮助。
答案 0 :(得分:7)
尝试
INSERT OR REPLACE INTO SearchTable(Owner, Generations)
SELECT ?, MAX(Generations) FROM SearchTable WHERE Owner = ?