在我的Android应用程序中,我有一个SQLite数据库,其中包含一个带有AUTOINCREMENT的id列的表。我正在使用INSERT语句添加新行,但我需要立即访问此行,以便我可以通过ID引用它。那么有没有人知道如何获得这个新添加的行的ID?
谢谢!
答案 0 :(得分:5)
SQLiteDatabase.insert
返回新创建的行的ID。
所以,你会得到这样的行:
long row = mDatabase.insert(MY_TABLE, "id", values);
(当然上面只是一个例子)
<强>返回强>
新插入行的行ID,如果发生错误,则返回-1
答案 1 :(得分:1)
我认为您可以使用last_insert_rowid()
功能
来自文档
last_insert_rowid()函数返回调用该函数的数据库连接中最后一行插入的ROWID。 last_insert_rowid()SQL函数是sqlite3_last_insert_rowid()C / C ++接口函数的包装器。
答案 2 :(得分:0)
试试这个:
select id from myTable where id = (select max(id) from myTable);
答案 3 :(得分:0)
当你插入一行时,返回的long值是插入行的id:见
public long insert (String table, String nullColumnHack, ContentValues values)
复制过去的链接:
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert(java.lang.String,java.lang.String,android.content.ContentValues)