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事务——控制语句使用的主要内容,如果未能解决你的问题,请参考以下文章