- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我对“last_insert_rowid()”有疑问。
在我的 DB-Helper-Class 中,我正在执行以下操作:
public int getLastID() {
final String MY_QUERY = "SELECT last_insert_rowid() FROM "+ DATABASE_TABLE5;
Cursor cur = mDb.rawQuery(MY_QUERY, null);
cur.moveToFirst();
int ID = cur.getInt(0);
cur.close();
return ID;
}
但是当我本意这样调用它时:
int ID = mDbHelper.getLastID();
Toast.makeText(this, "LastID: " + ID, Toast.LENGTH_SHORT).show();
我总是返回“0”。那不可能,因为我的数据库中有很多条目,自动增量值应该高得多。
我做错了什么?
最佳答案
好的,这是正确的提示 John ;-)
查询应该如下所示:
public int getHighestID() {
final String MY_QUERY = "SELECT MAX(_id) FROM " + DATABASE_TABLE5;
Cursor cur = mDb.rawQuery(MY_QUERY, null);
cur.moveToFirst();
int ID = cur.getInt(0);
cur.close();
return ID;
}
关于android - "SELECT last_insert_rowid()"总是返回 "0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11302276/
假设我有一个包含两个表的数据库 Persons和 PhoneNumbers ,其中PhoneNumbers表有一个指向 Persons 的外键.如果我想在单笔交易中插入一个有电话号码的人,我可以写一个
我想在插入语句后获取 last_insert_rowid()。 我想使用 SQLiteDatabase.execSQL() 但它说我不能在那里使用 select 语句。 如何使用 last_inser
我是 Android 新手。 我想在 TextView 中显示一个新 ID。所以,我只是想获取已存储在数据库中的最新 ID,并声明为 Integer 将我获取的值加 1,然后显示到 TextView。
我要执行的文件中包含多个SQL语句。 INSERT INTO reports (a,b,c) VALUES (1,2,3); INSERT INTO units (report_id, e, f, g
我有两张 table ,其中一张是另一张的助手。表“reviews”有一列是一个整数,引用表“films”中该评论的电影的id。有没有办法在“电影”表中插入新电影后,使用“评论”表中的 last_in
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我使用 node.js sqlite3 来操作数据。我使用这些代码将数据插入数据库并获取插入的 ID: db.run("INSERT INTO myTable (name) VALUES ('test
我对“last_insert_rowid()”有疑问。 在我的 DB-Helper-Class 中,我正在执行以下操作: public int getLastID() { final Stri
我有一个程序可以处理带线程的数据库(根据用户请求)。但是有一个问题: 虽然这不太可能,但还是有可能出现问题,例如,将用户插入数据库(他的详细信息)并且我想找出他的标识符列值(int)使用 sqlite
我是一名优秀的程序员,十分优秀!