栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySql(七) 事务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySql(七) 事务

事务是什么

一个或一组sql语句组成的一个执行单元,这个执行单元里面的sql要么都执行,要么都不执行

事务的属性
  • 原子性

原子性指事务时一个不可分割的工作单位,事务中的操作要么都执行要么都不执行

  • 一致性

从一个正确的状态,迁移到另一个正确的状态.什么叫正确的状态呢?就是当前的状态满足预定的约束就叫做正确的状态.

  • 隔离性

事务的隔离性是指一个事务的执行不能被其他事务干,即一个事务内部的操作以及使用的数据对并发的其他事务时隔离的,并发执行的各个事务之前互不干扰

  • 持久性

事务一旦提交,它对数据库中的数据的改变就是永久性的

事务的创建

  • 隐式事务:

事务没有明显的开启和结束的标记,例如insert,update,delete语句

  • 显式事务:

前提是先关闭自动提交(当前会话有效):set autocommit = 0

步骤一:开启事务

start transaction;

步骤二:编写事务中的sql语句(select,insert,update,delete)

第三步:提交或者回滚

提交 commit   回滚 rollback

事务并发情况下没设置隔离级别产生的问题

  • 脏读

对于两个事务T1、T2,T1读取了已经被T2更新但还没提交的字段之后,若T2回滚,T1读取的内容就是临时且无效的

  • 不可重复读

对于两个事务T1、T2,T1读取了一个字段,然后T2更新了该字段之后,T1再读取一次该字段,值不相同

  • 幻读

对于两个事务T1、T2,T1从一个表中读取了一个字段,然后T2再在该表中插入一些新数据,之后T1再次读取同一个表,就会多出几行

事务的隔离级别

一个事务于其他事务隔离的程度成为隔离级别。数据库规定了多种事务隔离级别,不同隔离级别对应不同的干扰程度,隔离级别越高,数据一致性就越高,但是并发性能越弱

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/314358.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号