2015-01-04 42 views
0

我为”努力只有在有最大的ID这样的更新值:的Android SQLite的更新和插入只有最大_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

如果不指定WHERE ** **条款,所有的记录都将通过'UPDATE'和'DELETE影响'命令。 – 2015-01-04 12:17:24

回答

2

我可以运行下面的查询和更新只最大ID:

您可以运行上面的查询单查询,而不是2个查询:

UPDATE test3 SET mac='abc', mdp='xyz' where _id=(SELECT MAX(_id) FROM test3) 
+0

非常感谢你的工作 – Yeahright 2015-01-04 14:07:40