Statement.executeInsert()返回值

时间:2018-05-22 04:13:52

标签: android sql sqlite

说我有ProductVersion Table

CREATE TABLE ProductVersion 
(
   Id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
   PrvVersionName NOT NULL
);

我有这个代码在这张桌子上做 INSERT

   SQLiteDatabase database = this.getWritableDatabase();
   String sql = "INSERT INTO ProductVersion (PrvVersionName) VALUES (?);";

   SQLiteStatement s = database.compileStatement(sql);
   s.bindString(1, data.getVersionName());

   long id = s.executeInsert();
   s.close();

我的问题是,s.executeInsert()返回的值是否与我在执行 INSERT 后使用"SELECT last_insert_rowid();"进行查询相同?

2 个答案:

答案 0 :(得分:1)

executeInsert()将返回插入行的ID

FROM DOCS

SQLiteStatement.executeInsert ()

  

执行此SQL语句并返回由于此调用而插入的行的ID。 SQL语句应该是一个INSERT,这是一个有用的调用。

答案 1 :(得分:1)

SQLiteStatement#executeInsert的{​​{3}}似乎证实了这一点:

  

执行此SQL语句并返回由于此调用而插入的行的ID。 SQL语句应该是一个INSERT,这是一个有用的调用。