SQLite条件插入或者替换

需要网sqlite数据库中插入或替换记录,并且更新条件是,新的值大于旧的值。

schema

 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 5, MIN(3, COALESCE(Generations, 999)) FROM SearchTable WHERE Owner = 5

试试吧

首先 同样的S查询语句在SQLite里能不能正常查询

第二 你好像用了String[] selectionArgs selectionArgs只能用在WHERE的values上不能用在其他地方 你先试试拼接SQL语句