本文只是记录了使用中的知识点,熟练度,深入度有限,希望看到的朋友能够多多指点,不胜感激。
//Transaction 事务
/*
事务(Transaction)是一个对数据库执行工作单元。事务(Transaction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。
事务(Transaction)是指一个或多个更改数据库的扩展。例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务。重要的是要控制事务以确保数据的完整性和处理数据库错误。
比如可以把许多的 SQLite 查询联合成一组,把所有这些放在一起作为事务的一部分进行执行,或者一组删除,插入更新操作,保证连贯性,避免出现问题。
*/
static sqlite3 * db = nil;
//...相关创建操作省略
@try{
char *errorMsg;
if (sqlite3_exec(db, "BEGIN", NULL, NULL, &errorMsg) == SQLITE_OK) {
NSLog(@"启动事务成功");
sqlite3_free(errorMsg);
///此处写上相关的数据库操作代码
if (sqlite3_exec(db, "COMMIT", NULL, NULL, &errorMsg) == SQLITE_OK) {
NSLog(@"提交事务成功");
}
sqlite3_free(errorMsg);
} else {
sqlite3_free(errorMsg);
}
} @catch(NSException *e) {
char *errorMsg;
if (sqlite3_exec(db, "ROLLBACK", NULL, NULL, &errorMsg) == SQLITE_OK) {
NSLog(@"回滚事务成功");
}
sqlite3_free(errorMsg);
} @finally {}