首页 > 其他分享 >事务操作

事务操作

时间:2023-06-16 17:02:55浏览次数:39  
标签:事务 读取 幻读 修改 脏读 提交 操作

方式一:

set @@autocommit = 0;  // 设置为手动提交

// 事务执行成功后 调用commit提交事务
commit;

// 如果执行失败 使用rollback回滚

rollback;

方式二:

start transaction 或 begin; -- 开启事务

commit;

rollback;

事务隔离级别:

  • 未提交读,事务中发生了修改,即使没有提交,其他事务也是可见的,比如事务A修改了数据但为提交,事务B看到了这个修改,事务A发生回滚,事务B看到的仍然是修改后的数据,可能会导致脏读、不可重复读、幻读。
  • 提交读,对于一个事务从开始直到提交之前,所做的任何修改是其他事务不可见的,举例事务A修改了数据并提交,提交之前事务B读取了数据,提交之后事务B又读取数据,前后两次读取不一致;可以阻止脏读,但是可能导致不可重复读或幻读。
  • 重复读,就是对一个记录的多次读取是相同的;可以阻止脏读和不可重复读,但幻读仍有可能发生
  • 可串行化读,在并发情况下,和串行化的读取的结果是一致的,没有什么不同;该级别可以防止脏读、不可重复读以及幻读。
-- 查看事务隔离级别

select @@transaction_isolation;

-- 设置事务隔离级别

set [session | global] transaction isolation level [read uncommitted | read committed | repeatable read | serializable]

session:针对当前会话窗口有效

global:针对所有会话窗口有效

 

标签:事务,读取,幻读,修改,脏读,提交,操作
From: https://www.cnblogs.com/WTSRUVF/p/17485987.html

相关文章

  • 1.新手学习Linux 操作命令
     ......
  • 【操作系统】【进程管理】怎么避免死锁?
    1  前言这节,我们来系统地聊聊死锁的问题。死锁的概念;模拟死锁问题的产生;利用工具排查死锁问题;避免死锁问题的发生;2 死锁的概念在多线程编程中,我们为了防止多线程竞争共享资源而导致数据错乱,都会在操作共享资源之前加上互斥锁,只有成功获得到锁的线程,才能操作共享资源,......
  • ubutu18.04操作归档管理器时鼠标变手型无法点击
    ubuntu18.04用系统自带的归档管理器打开压缩包文件,拖动文件时变成鼠标变成手形后,界面不能再点击任何东西。分析:可能是个GUI窗体BUG,正常应该是子窗口再父窗口上,结果BUG导致,子窗口被父窗口覆盖,所以不能操作。解决方法:用键盘Alt+tab组合键跳到归档管理器,再......
  • Spring事务基础介绍
    事务本文只介绍声明式事务管理,即使用AOP实现,使用@Transactional开始事务事务角色事务管理员:发起事务方,在Spring中通常指代业务层开启事务的方法事务协调员:加入事务方,在Spring中通常指代数据层方法,也可以是业务层方法接口介绍PlatformTransactionManager:Spring事务......
  • Servlet安装以及基础操作
    Servlet创建新建一个类,继承Servlet接口publicclassTestServlet2implementsServlet{publicvoidinit(ServletConfigservletConfig)throwsServletException{}publicServletConfiggetServletConfig(){returnnull;}publicvoid......
  • suse12操作系统普通用户报错error while loading shared libraries: libcap.so.2: can
    1、故障描述linux主机普通用户执行ping命令报错ping:errorwhileloadingsharedlibraries:libcap.so.2:cannotopensharedobjectfile:permissiondenied2、故障原因 超级用户修改了根目录权限为655 3、解决方案chmod755/ ......
  • C++面试八股文:了解sizeof操作符吗?
    C++面试八股文:了解sizeof操作符吗?某日二师兄参加XXX科技公司的C++工程师开发岗位第10面:面试官:了解sizeof操作符吗?二师兄:略微了解(不就是求大小的嘛。。)面试官:请讲以下如何使用sizeof?二师兄:sizeof主要是求变量或者类型的大小。直接使用sizeof(type)或sizeof(var)`即可。......
  • 操作系统架构设计:如何优化系统性能和资源利用率
    目录1.引言2.技术原理及概念2.1.基本概念解释2.2.技术原理介绍3.实现步骤与流程3.1.准备工作:环境配置与依赖安装3.2.核心模块实现3.3.集成与测试操作系统架构设计:如何优化系统性能和资源利用率随着计算机硬件性能的不断提高和软件功能的不断扩展,操作系统在系统性能、资......
  • CentOS7 防火墙操作
    一、开启特定端口命令二、常用命令 一、开启特定端口命令1.检查防火墙是否开启(需要开启防火墙)#查看防火墙状态命令:systemctlstatusfirewalld#启动防火墙命令:systemctlstartfirewalld#关闭防火墙命令:systemctlstopfirewalld  2.开放指定端口(开发端口后需......
  • 操作系统导论-研读笔记
    第1部分虚拟化第2部分并发线程和进程的区别:线程与进程,你真得理解了吗本质区别:进程是操作系统进行资源分配和调度的基本单位,线程是处理器任务调度和执行的基本单位。资源开销:每个进程都有独立的地址空间,彼此隔离,进程之间的切换会有较大的开销;线程可以看做轻量级的进程,同......