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 )