美文网首页
事务控制语句

事务控制语句

作者: lsh的学习笔记 | 来源:发表于2020-05-09 16:45 被阅读0次
  • STARTTRANSACTION | BEGIN:显式地开启一个事务。

  • COMMIT:要想使用这个语句的最简形式,只需发出COMMIT。也可以更详细一些,写为COMMIT WORK,不过这二者几乎是等价的。COMMIT会提交事务,并使得已对数据库做的所有修改成为永久性的。

  • ROLLBACK:要想使用这个语句的最简形式,只需发出ROLLBACK。同样地,也可以写为ROLLBACK WORK,但是二者几乎是等价的。回滚会结束用户的事务,并撤销正在进行的所有未提交的修改。

  • SAVEPOINT identifier∶SAVEPOINT允许在事务中创建一个保存点,一个事务中可以有多个SAVEPOINT。

  • RELEASE SAVEPOINT identifier删除一个事务的保存点,当没有一个保存点执行这句语句时,会抛出一个异常。

  • ROLLBACK TO [SAVEPOINT] identifier:这个语句与SAVEPOINT命令一起使用。可以把事务回滚标记点,而不回滚在此标记点之前的任何工作。

例如:可以发出两条UPDATE语句,后面跟一个SAVEPOINT,然后又是两条DELETE语句。如果执行DELETE语句期间出现了某种异常情况,并且捕获到这个异常,同时发出了ROLLBACK TO SAVEPOINT命令,事务就会回滚到指定的SAVEPOINT,撤销DELETE完成的所有工作,而UPDATE语句完成的工作不受影响。

  • SET TRANSACTION:这个语句用来设置事务的隔离级别。InnoDB存储引擎提供的事务隔离级别有:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE。

差异

START TRANSACTION 和 BEGIN

START TRANSACTION、BEGIN语句都可以在MySQL命令行下显式地开启一个事务。但是在存储过程中,MySQL数据库的分析器会自动将BEGIN识别为BEGIN…END,因此在存储过程只能使用START TRANSACTION语句来开启一个事务。

COMMIT 和 COMMIT WORK

COMMIT和COMMIT WORK语句基本是一致的,都是用来提交事务。不同之处在于COMMIT WORK用来控制事务结束后的行为是CHAIN还是RELEASE的。如果是CHAIN方式,那么事务就变成了链事务

用户可以通过参数completion_type来进行控制,该参数默认为0,表示没有任何操作。在这种设置下COMMIT和COMMIT WORK是完全等价的。当参数completion_type的值为1时,COMMIT WORK等同于COMMIT AND CHAIN,表示马上自动开启一个相同隔离级别的事务。

相关文章

  • 事务控制语句

    STARTTRANSACTION | BEGIN:显式地开启一个事务。 COMMIT:要想使用这个语句的最简形式,...

  • MYSQL事务

    常用语句 MYSQL事务,锁表 事务控制语句 事务的隔离级别 隔离级别描述产生风险READUNCOMMITTED ...

  • oracle基础 -- 五种语句

    SQL分为: -- 数据定义语句(DDL)-- 数据操纵语句(DML)-- 事务控制语句(TCL)-- 数据查询语...

  • Mysql事务控制语句

    介绍 Mysql的Innodb存储引擎默认事务都是自动提交(隐式提交);查看当前的事务是否自动提交: 事务操作 开...

  • MySQL事务

    MySQL-innodb-事务 事务的特性 事务的生命周期 失败的事务: 事务的控制语句 面试题 事务日志-red...

  • mysql事务

    TCL /*Transaction Control Language 事务控制语言 事务:一个或一组sql语句组成...

  • mysql 事务

    事务的定义 TCL(Transaction Control Language) 事务控制语言,是指一个或者多个语句...

  • mysql事务134-138

    TCL /*Transaction Control Language 事务控制语言事务:一个或一组sql语句组成一...

  • mysql

    事务控制语句: BEGIN 或 START TRANSACTION 显式地开启一个事务; COMMIT 也可以使用...

  • 2018-09-27

    sqlSession的作用:1、向sql语句传入参数2、执行sql语句3、获取执行sql语句的结果4、事务控制 如...

网友评论

      本文标题:事务控制语句

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