zoukankan      html  css  js  c++  java
  • mysql事务(二)——控制语句使用

    事务控制

    一般来说,mysql默认开启了事务自动提交功能,每条sql执行都会提交事务。可以使用如下语句关闭事务自动提交功能。

    show session variables like 'autocommit';
    set @@autocommit = 0;
    show session variables like 'autocommit';

    1、 事务开始

    begin或start transaction;

    2、 事务提交

    commit或commit work;

    3、 回滚

    rollback或rollback work;

    4、 保存点设置

    savepoint 标识;

    5、 回滚到保存点

    rollback to savepoint 标识;

    6、 删除保存点

    release savepoint 标识。

     事务隔离

    READ-UNCOMMITTED   读未提交

    READ-COMMITTED        读已提交

    REPEATABLE-READ      重复读

    SERIALIZABLE                序列化

    脏读

    不可重读

    幻读

    READ-UNCOMMITTED

    Y

    Y

    Y

    READ-COMMITTED

    N

    Y

    Y

    REPEATABLE-READ

    N

    N

    Y

    SERIALIZABLE

    N

    N

    N

    脏读:读取的数据为另一个事务过程数据,读取数据可能是错误的。

    不可重读:第二次读取数据内容与第一次读取数据内容不同。(不存在读取事务过程数据)

    幻读:第二次读取数据行数比第一次读取行数多或少。(不存在读取事务过程数据)

    SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
    {
           READ UNCOMMITTED
         | READ COMMITTED
         | REPEATABLE READ
         | SERIALIZABLE
    }
  • 相关阅读:
    浏览器缓存机制
    vim 同时操作多行
    webpack打包性能优化
    测试 IE 浏览器兼容性 VirtualBox + modern.ie
    react-redux 学习笔记
    Redux 学习笔记
    Mac 下抓包工具 Charles 修改特定请求
    PyUsb的使用记录--window中
    Java 通过Jna调用dll路径问题
    OpenJdk14精简jdk运行javaFx样式丢失问题
  • 原文地址:https://www.cnblogs.com/coshaho/p/7450543.html
Copyright © 2011-2022 走看看