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

MySQL事务

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

MySQL事务

MySQL事务 一、事务

数据库的事务是一种机制,一个操作序列事务把一组操作命令视为一个整体,要么全部执行成功,要么都执行失败,只要有一个失败,就无法成功事务是一个不可分割的工作逻辑单元

二、事务四大特征

原子性(Atomicity):事务是不可分割的最小操作单位,要么同时成功,要么同时失败。一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态隔离性(lsolation) :多个事务之间,操作的可见性持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

MySQL数据库事务为默认提交,但是我们可以设置为手动提交

 -- 查看事务的默认提交。方式返回 1 则是自动提交,返回 0 则是手动提交
 SELECT @@autocommit;
 --修改事务提交方式
 set @@autocommit = 0;

在开启事务后,事务中出现错误,还没commit之前,在本窗口查询出来的结果是执行sql语句之后的结果,但是当我们再打开一个查询窗口,会发现结果还是执行sql语句之前的结果

begin;
update user set username = '刘德' where id = 21;
ksjadlks出错了
update user set username = '张丰' where id = 26;

当前窗口查询结果

其他窗口查询的结果,显示的还是之前的结果,执行的sql语句并没有生效

若想当前执行的sql语句生效,则需执行commit,若不想要错误执行的结果,可以使用roolback回滚事务,使其回到执行sql语句之前的状态

begin;-- 开始事务,可用 start transaction替代
update user set username = '刘德华' where id = 21;
ksjadlks出错了
update user set username = '张三丰' where id = 26;
commit; -- 提交事务
rollback; -- 回滚事务

注意:一旦提交或回滚事务之后,数据将被持久化到数据库,即数据被真正的写入数据库中,无法回退,只能另行修改

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

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

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