2 exit door eXit_door 于 2013.03.21 13:45 提问

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 = ?), ?))

但是返回的结果是空值。

2个回答

loFataMer
loFataMer   2013.03.21 15:07
已采纳
INSERT OR REPLACE INTO SearchTable(Owner, Generations) SELECT 5, MIN(3, COALESCE(Generations, 999)) FROM SearchTable WHERE Owner = 5

试试吧

CuGBabyBeaR
CuGBabyBeaR   2013.03.21 14:32

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!