美文网首页
9. SQL语句中, 事务的使用

9. SQL语句中, 事务的使用

作者: 面糊 | 来源:发表于2016-06-16 21:39 被阅读161次
  1. 何为事务(Transaction)

    • 事务, 是并发控制的单位, 是用户定义的一个操作序列. 在这个序列中的所有操作, 是一个完整不可分割的整体.
    • 通过事务, 可以将逻辑相关的操作绑定在一起, 保持数据的完整性
    • 事务通常以: begin transaction作为开始, 以commit transacationrollback transaction结束
      • commit: 表示提交事务的所有操作, 也就是将事务中所有对数据库的操作, 写入到磁盘上的数据库中, 然后正常的结束事务
      • rollback: 表示回滚, 即在事务运行的过程中, 发生了某种故障, 事务不能继续进行, 系统会将事务中对数据库的所有已经完成的操作全部撤销, 回滚到事务开始之前的状态
  2. 事务的操作测试

    • 如果手动操作事务, 就一定要遵循手动开启 -> 执行任务 -> 手动提交或回滚

    • 如果没有手动开启或者提交, 那么数据库的操作就会失败

        // 模拟事务
        - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
            
            // 0. 开启事务
            [[SQLiteTool shareInstance] beginTransaction];
            
            // 1. 模拟银行转账
            // zhangsan -50 同时lisi +50
            NSString *sql = @"update T_human set money = money - 50 where name = 'zhangsan'";
            BOOL result = [[SQLiteTool shareInstance] excuteSQL:sql];
            
            NSString *sql2 = @"update T_human set money = money + 50 where name = 'lisi'";
            BOOL result2 = [[SQLiteTool shareInstance] excuteSQL:sql2];
            
            NSLog(@"%i, %i", result, result2);
            
            if (result && result2) {
                // 提交事务
                [[SQLiteTool shareInstance] commitTransaction];
            } else {
                // 回滚事务
                [[SQLiteTool shareInstance] rollBackTransaction];
            }
        }

相关文章

  • 9. SQL语句中, 事务的使用

    何为事务(Transaction)事务, 是并发控制的单位, 是用户定义的一个操作序列. 在这个序列中的所有操作,...

  • MySQL注释

    一、单行注释 SQL语句中的单行注释使用-- 二、多行注释 SQL语句中的多行注释采用/*…*/

  • 高性能SQL查询

    1 SELECT 子句中避免使用 * 当你想在 SELECT 子句中列出所有的 COLUMN 时,使用动态 SQL...

  • 数据库事务浅析

    数据库事务介绍 在我们使用数据库时,Android为我们提供了事务操作,简而言之就是在事务中,我们执行各种sql语...

  • 导入导出数据库

    此命令只能在命令行中使用,而不是sql语句中使用

  • mybatis plus 中 手写sql 中的模糊查询

    mybatis plus 中 手写sql 中的模糊查询 使用的方法是在sql 语句中加入 LIKE CONCA...

  • chapter16:创建高级联结

    使用表别名 SQL允许给表名起别名,理由如下: 缩短SQL语句; 允许在单挑SELECT语句中多次使用相同的表。例...

  • mysql中的left join、right join、join

    sql准备 各种join的使用 left join 即为以sql语句中的左边的表为主要表关联右边的表,其中使用on...

  • #{}和${}应用场景

    #{}sql语句中;//占位符== ?spel注入方式中; //#{user1.name} ${}sql语句中;...

  • mysql Mybatis井号#与$的区别

    mybatis中使用ParameterType向sql语句传参,在sql语句中引用这些参数的时候,有两种方式:...

网友评论

      本文标题:9. SQL语句中, 事务的使用

      本文链接:https://www.haomeiwen.com/subject/jhamdttx.html