我应该如何从数据库中获取最新添加的记录,其中COL_2应该= = param,我将其传递给它。 我可以使用此代码获取COL_2等于param的所有记录,但我只需要最近的一个
public Cursor getRowsLast(String param) {
SQLiteDatabase db = helper.getWritableDatabase();
String[] COLS = new String[]{DatabaseHelper.COL_1,DatabaseHelper.COL_2, DatabaseHelper.COL_3,DatabaseHelper.COL_4};
String where = param;
Cursor c = db.query(true, DatabaseHelper.TABLE_NAME, COLS, DatabaseHelper.COL_2 + " = '" + where + "'", null, null, null, null, null);
if(c != null){
c.moveToFirst();
}
return c;
}
答案 0 :(得分:2)
获取表中最新行的最可靠方法是在表中为插入/更新时间定义一列。确保在插入/更新时此值准确,并在其上创建索引。然后,您可以对此列进行排序(降序)以确定哪一个是最新的 - 它将是第一行。
答案 1 :(得分:0)
随着每次插入自动生成的ID值增加,ID最高的行将是最近插入的行。因此,添加“按_id desc排序”,第一行将是最近插入的一行。
注意 - 这不包括更新。如果您需要最近插入或更新的行,则必须使用Doug Stevenson建议的其他时间戳列。