Android Sqlite 只更新并插入最大的_id
Android Sqlite update and insert only the biggest _id
我正在尝试仅在存在最大 ID 的情况下更新值,如下所示:
Cursor c = db.rawQuery("SELECT MAX(_id) FROM test3 ", null);
if (c.moveToFirst()) {
db.execSQL("UPDATE test3 SET mac='" + MAC + "',mdp='" + MDP + "'");
但是我所有的行都改变了,变得和我之前选择的一样了,我只想改变最大值
我的数据库是这样定义的:
db = openOrCreateDatabase("testDB3", Context.MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS test3(_id INTEGER PRIMARY KEY,mac VARCHAR,mdp VARCHAR,obj VARCHAR);");
我可以 运行 下面查询并仅更新最大 ID :
您可以 运行 以上查询作为单个查询而不是 2 个查询:
UPDATE test3 SET mac='abc', mdp='xyz' where _id=(SELECT MAX(_id) FROM test3 )
我正在尝试仅在存在最大 ID 的情况下更新值,如下所示:
Cursor c = db.rawQuery("SELECT MAX(_id) FROM test3 ", null);
if (c.moveToFirst()) {
db.execSQL("UPDATE test3 SET mac='" + MAC + "',mdp='" + MDP + "'");
但是我所有的行都改变了,变得和我之前选择的一样了,我只想改变最大值
我的数据库是这样定义的:
db = openOrCreateDatabase("testDB3", Context.MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS test3(_id INTEGER PRIMARY KEY,mac VARCHAR,mdp VARCHAR,obj VARCHAR);");
我可以 运行 下面查询并仅更新最大 ID :
您可以 运行 以上查询作为单个查询而不是 2 个查询:
UPDATE test3 SET mac='abc', mdp='xyz' where _id=(SELECT MAX(_id) FROM test3 )