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

MySQL事务

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

MySQL事务

事务定义

一个事物是由一条或多条对数据库操纵的SQL语句组成的一个不可分割的单元,只有当事物中所有的操作都正常执行完了,整个事务才会被提交到数据库,如果有部分事务处理失败,事务就要回滚到最初的状态,因此,事务要么全部执行成功,要么全部失败。

经典案例:银行转账

事务特征(ACID) 事务的原子性(Atomic)

事务是一个不可分割的整体,事务必须具有原子特性,当对数据修改时,要么全部执行,要么全不执行,即不允许部分执行

事务的一致性(Consistency)

一个事务执行之前和执行之后,数据库数据必须保证一致性(比如小张卡里余额是100,小刘是200,总金额三百。小刘给小张转了100后,小张卡里余额200,总金额是300,即数据库数据保证了一致性)。数据库的一致性状态由用户来控制,由并发控制机制实现

事务的隔离性(Isolation)

当两个或者多个事务并发执行时,为了保证数据的安全性,将一个事务的内部的操作与其他的事务的操作隔离起来,不能被其他正在执行的事务所看到。隔离性使得每个事务的更新操作之前,对其他事务是不可见

事务的持久性(Durability)

事务执行完成之后,数据库系统保证对数据库数据的修改是永久性的,即使数据因为故障出错,也应该能够恢复数据

事务的使用 查看事物
select @@autocommit

查看MySQL中事务是否打开自动提交,默认为1表示自动提交,0表示手动提交

修改事务提交方式
set autocommit=0

set autocomit=X操作,设置事务提交方式为手动提交或自动提交

 注:设置事务手动还是自动只针对当前的窗口,只对当前的用户连接起作用,其他的连接是不受影响

事务操作 开启事务
begin
或者
start transaction

两种操作都可以显性的开启一个事务

事务提交
commit

当组成的一个事务的多个SQL都执行成功,调用commit提交一个事务,意味着数据被写入到数据行中,可被其他的事务读取到

事务回滚
rollback

如果事务执行的过程中有操作执行失败就会回滚到初始状态

 保存点
savepoint point1;//设置一个名称为point1的保存点
rollback to point1;//回滚到指定的保存点point1,而不是回滚到初始状态

 

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

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

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