我试图仅在存在最大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);");
答案 0 :(得分:2)
我可以在查询下运行并仅更新最大ID:
您可以将上述查询作为单个查询而不是2个查询运行:
UPDATE test3 SET mac='abc', mdp='xyz' where _id=(SELECT MAX(_id) FROM test3 )