zoukankan      html  css  js  c++  java
  • 新手上路教程3_TCL语言

    重点–事务

    1. 含义

    1. 事务 : 一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行

    2. 特点

    1. 原子性 : 一个事务是不可再分割的整体,要么都执行要么都不执行
    2. 一致性: 一个事务可以使数据从一个一致状态切换到另外一个一致状态
    3. 隔离性 : 一个事务不受其他事务的干扰,多个事务互相隔离
    4. 持久性 : 一个事务一旦提交了,则永久的持久化到本地

    3. 事务的使用步骤

    1. 了解

    2. 隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、update、delete

    3. 显式事务:具有明显的开启和结束

    4. 使用显式事务:

    5. 开启事务

    ```mysql
    set autocommit = 0;
    start transaction ; #可以省略
    ```
    
    1. 编写一组逻辑sql语句

      • sql 语句支持的是insert,update,delete
      • 在代码中,这里要指明下,,不然select也成了事务
    2. 设置回滚点

      savepoint 回滚点名
      
    3. 结束事务

      1. 提交 commit
      2. 回滚 rollback
      3. 回滚到指定的地方 : rollback to 回滚点名
    4. 并发事务

      1. 事务的并发的问题的产生:

        1. 多个事务 同时操作同一个数据库的相同数据时
      2. 并发问题都有哪些

        1. 脏读 :

          • 一个事务 读取了其他事务还没有提交的数据 ,读到的是其他的事务"更新"的数据
        2. 不可重复读:

          • 一个事务多次读取,结果不一样
        3. 幻读

          • 一个事务读取了其他事务还没有提交的数据,只是读到的是 其他事务 “插入”的数据
      3. 如果解决并发问题

        1. 通过设置隔离级别来解决并发问题
      4. 隔离级别

        脏读 不可重复读 幻读
        read uncommitted:读未提交 × × ×
        read committed: 读已提交 × ×
        repeatable read:可重复读 ×
        serializable:串行化
  • 相关阅读:
    c# 创建多线程
    使用opencvsharp通过mvvm在image中显示图片
    c# 创建文件/文件夹对话框
    wpf MVVM框架基础
    wpf DataBinding
    layui自动点击下拉列表的一项并选中
    LayUI默认样式调整
    mysql取某个组的前n条数据
    Kali3.0系统切换中文
    JS触发某元素周围元素的样式改变
  • 原文地址:https://www.cnblogs.com/YJBlog/p/10659716.html
Copyright © 2011-2022 走看看