mysql事务——控制语句使用

Posted coshaho

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
}

 

以上是关于mysql事务——控制语句使用的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础-19TCL语言(事务控制语言)-事务

数据库事务系列4 事务控制语句 隔离级别

MySQL的运行模式及一些特性,引擎事务并发控制优化总结

深入浅出Mysql——事务控制和锁定语句

mysql基础教程-----事务视图存储过程和函数流程控制

8-1 Mysql基础常考题