IOS Sqlite3 获取自增长ID

当我们在sqlite数据库中插入一条自增长的数据后,我们想获得自增长的ID的值,以便对数据进行修改等其他操作。这时我们就会想到能不能像ADO.NET里面使用int newid=resultset.executenoquery()获得执行返回的值呢,这样是可以的。方法一:有时候我们看可不可以,我们可以通过在数据的Query里进行验证SQL语句是这样的“insert语句;select last_insert_rowid();”这样执行完之后会插入一条数据的同时会返回一个列名为last_insert_rowid()的当前自增长ID值的数据,之后的操作就像获取查询数据的操作一样获取该字段的值。方法二:不需要在sql语句里添加select last_insert_rowid();而是在插入数据的执行部分使用变量存储返回的自增ID值,使用

sqlite3_last_insert_rowid(db);记住是在数据仍在打开的时候,这里的db是数据库

sqlite3 *db;的一个对象。代码很简单如下所示:

if(sqlite3_step(statement)!=SQLITE_DONE)

{

     NSAssert(NO, @"插入数据失败");

}else

{

    int newid =sqlite3_last_insert_rowid(db);

}

网上找的内容残缺不全,许多都不能使用,特写博客记录。

你可能感兴趣的:(IOS学习笔记,IOS,sqlite3,获取自增长ID)