加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

MySQL事务,这篇文章就够了

发布时间:2019-11-04 18:36:26 所属栏目:建站 来源:欧阳思海
导读:副标题#e# 0 什么是事务 事务(Transaction) 是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都 执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每 个事务结束时,都能保持数据一致性。 同时,

用户可以通过参数completion_type控制,如下:

MySQL事务,这篇文章就够了

  •  completion_type = 1 实例

执行下面的操作;

  1. SET @@completion_type = 1;  
  2. BEGIN WORK;  
  3. INSERT INTO lock_test SELECT 10;  
  4. COMMIT WORK; 

接着我们再执行下面的操作;

  1. INSERT INTO lock_test SELECT 115;  
  2. ROLLBACK;  
  3.  SELECT * FROM lock_test; 

我们先插入一条数据115,然后再回滚,我们知道如果不是在一个事务的时候,115应该是会插入成功的,就算我们回滚了,但是,这里我们回滚之后,查询结果如下:

MySQL事务,这篇文章就够了

这个时候并没有115这条记录,也就是回滚生效了,说明在COMMIT WORK之后,又是一个新的事务,所以才会出现这样的结果。

  •  completion_type = 2 实例

我们先进行下面的操作;

  1. SET @@completion_type = 2;  
  2. BEGIN WORK;  
  3. INSERT INTO lock_test SELECT 5;  
  4. COMMIT WORK; 

上面我们已经提交事务了,当我们使用下面的语句查询lock_test的数据的时候,就会出现断开连接。

  1. SELECT * FROM lock_test; 

MySQL事务,这篇文章就够了

4 事务的隔离级别

事务的隔离级别有四种分别是:

  •  READ UNCOMMITTED
  •  READ COMMITTED
  •  REPEATABLE READ
  •  SERIALIZABLE

对于这几种隔离级别会带来的问题及总结,可以查看这篇文章:MySQL的又一神器-锁,MySQL面试必备

5 总结

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读