我有一个sqlite数据库,行ID自动递增。如何形成查询以获取行_id中的最大数字并将其放入变量?我知道如何在sql中执行此操作但不使用查询方法。
答案 0 :(得分:2)
正如本网站其他地方所述:
String query = "SELECT MAX(row_id) AS max_id FROM mytable";
Cursor cursor = db.rawQuery(query, null);
int id = 0;
if (cursor.moveToFirst())
{
id = cursor.getInt(0);
}
答案 1 :(得分:1)
Cursor Days = db.query(true, DATABASE_TABLE, new String[]{"_id"},
"_id="+"(select max(_id) from" +DATABASE_TABLE+")" , null, null, null, null, null);
这也应该有用。
答案 2 :(得分:0)
cursor.getLong(cursor.getColumnIndex("row_id"))
你尝试过这个吗?当您在数据库中插入数据时,自动增量会增加主键的ID,我认为rowid必须是您的其中一个键。
答案 3 :(得分:0)
您可以通过计数以及在查询中使用MAX(列名称)函数来获取此信息。 max函数返回最大值
答案 4 :(得分:0)
Cursor newCursor = newContentResolver.query
(
CONTENT_URI,
new String[]{"_id"},
null,
null,
null
);
if(newCursor.moveToLast())
{
int index = newCursor.getColumnIndex("_id");
String id = newCursor.getString(index);
Log.v("TAG", "Highest id : "+id);
}