Mysql事务的处理

1、事务,就是一组命令的操作。

        不过这一组命令,我们有时候需要使用手动提交;

1、使用这组命令可以查询出来现在的提交方式:自动提交(就是命令输入,点击enter后,会不会直接对表格产生修改,改为0以后,就需要额外使用一个commit命令才能将命令提交执行);

                          

                        

2、执行出错的时候,

        使用回滚事务操作,将数据改为原来的状态

        rollback;  

3、事务的性质(ACID,网上很多,先不写了,就是针对的一组事务命令)

4、并发事务问题:

(多个事务并发操作同一数据库时,每个事务在使用时,都对数据库进行操作,进行修改后,可能影响其他事务对数据库的访问。类似多线程对共享资源的访问),说是三种问题,实际上使用的时候,对应的是三种操作

(第一种对应的是,当前事务进行读取的时候,另外一个事务对数据表进行了修改,但是另外一个事务还没有执行到提交的那一步。这个过程里第一个事务读取到了,成为脏读)

(第二种对应,使用一个事务先后两次读取同一个记录,另外的事务在两次读取之间对数据进行了修改,导致读取到的信息不一样)

(第三种对应,使用一个事务向表格插入数据前,先查询一下,里面没有目标数据;但是后面执行insert into 插入命令时,表格中已经有了我们要插入的数据,但是使用select 查询命令时仍然查不到,也插入不了,考虑先提交当前事务看看,可能就有了。这样的重点在插入操作)

这些问题的共性,一般都是在一个事务未完成的时候,下一个事务就介入当前事务所用的表格,所以需要注意下。

幻读:

4、事务隔离级别(X号表示隔离级别可以解决的问题)

 隔离越厉害性能越差。最后一种是串行访问,当前事务未处理完之前,其他事务的命令无法执行

 1、设置隔离级别为 serializable 时,第一张图是在其中一个事务中进行更新数据,第二个是在第一个更新完没有提交的时候,就卡在那里了。

                

                

此时信息已经更新了

        ​​​​​​​        ​​​​​​​        

当提交后:当前事务中是这样的,另外一个事务中报了超时错误(可能时间间隔长了)

        

        

5、事务的结束和重新开始 

        开始可以使用 begin和start transaction;当提交后,当前事务就算结束了。这个没有找到类似的资料。

不过处理过程中,不要让事务中使用的命令超时,超时的话,可能系统会自己重新开始事务,以免出现不必要的麻烦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/317430.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

重温经典struts1之自定义全局异常处理类处理异常以及<exeception>标签的配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 前面的文章,我们学习了,Action类中调用Service,通过try…catch代码块,catch自定义异常类,通过ActionMessage…

metrics安装异常原因【doesn‘t contain any IP SANs】

1、问题背景 安装好k8s后,安装metrics-server后发现对应的pod一直无法启动。 apiVersion: v1 kind: ServiceAccount metadata:labels:k8s-app: metrics-servername: metrics-servernamespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: Cl…

05.neuvector网络学习与管控实现

原文链接,欢迎大家关注我的github 一、网络的策略学习 1.1.非主机模式的网络连接学习 agent进程侧: 调用taskAddContainer->taskInterceptContainer->programDP->DPCtrlAddTapPort为所有非host模式的容器向dp传送 DPAddTapPortReq对象数据.&…

成就动机测试

成就动机测试广泛应用在职业发展领域,如:企业Hr人力资源管理部门,用于评估分析员工的潜能和价值,适用场景有人才招聘,岗位晋升,绩效考评等等。在大学生做职业规划,求职应聘中,应用成…

数据结构与算法(十一) 排序算法一

int nArray[] { 8,5,3,2,7 };如下一个数组,现对其进行从小到大排序 选择排序 选择排序:将小的依次放在前面 具象化如下: void swap(int *nSValue,int *nDValue) 交换函数 { int nTempValue 0; nTempValue *nSValue; *nSVal…

Spring Boot 整合支付宝实现在线支付方案(沙箱环境)

文章目录 1.理解沙箱环境2.沙箱环境接入准备2.1 访问开发者控制台2.2 获取重要信息2.3 处理秘钥 3.接入支付宝支付的流程4.实现支付4.1 添加 SDK 依赖4.2 创建配置类4.3 支付宝订单管理接口实现流程4.4 支付宝支付接口实现流程 5.支付宝支付功能演示7.总结 TIP:对于…

分享一个好用的免费在线扣图网址

具体效果 附地址 https://cutout.aiwave.cc/

【python】基础知识类的语法功能讲解

Python代码定义了一个名为Calculation的类,用于执行基础的数学运算(加法、减法、乘法、除法和取模)。下面我将详细解释各个部分的功能,并以列表形式总结: 类定义: class Calculation: 定义了一个名为Cal…

iOS Universal Links(通用链接)详细教程

一:Universal Links是用来做什么的? iOS9.0推出的用于应用之间跳转的一种机, 通过一个https的链接启动app。如果手机有安装需要启动的app,可实现无缝跳转。如果没有安装,会打开网页。 实现场景:微信链接无…

Flink窗口(2)—— Window API

目录 窗口分配器 时间窗口 计数窗口 全局窗口 窗口函数 增量聚合函数 全窗口函数(full window functions) 增量聚合和全窗口函数的结合使用 Window API 主要由两部分构成:窗口分配器(Window Assigners)和窗口函…

Memcache简介与运维

开源、高性能、高并发的分布式内存缓存系统。 作用 缓存关系型数据库的结果,减少数据库自身访问的次数。 常见内存缓存服务软件对比 memcache 纯内存 redis、memcachedb 可持久化存储,同时会使用磁盘存 …

Typora使用及Markdow学习笔记1

编程如画,我是panda! 最近有在学习Markdown,所以这次分享一下我的Markdown学习笔记 目录 前言 一、标题 二、段落 1.换行 2.分割线 三、文字显示 1.字体 2.上下标 四、列表 1.无序列表 2.有序列表 3.任务列表 五、区块 六、代…

外包干了5个月,感觉技术退步明显......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四…

深入理解Spring IOC

1. IOC 理论 IOC 全称控制反转,英文名为 Inversion of Control,它还有一个别名为 DI(Dependency Injection),即依赖注入。 在我们刚接触Spring的时候,我们就听说了IOC,但是对于IOC的理解,貌似…

ubuntu 20.04下 Tesla P100加速卡使用

1.系统环境:系统ubuntu 20.04, python 3.8 2.查看cuDNN/CUDA与tensorflow的版本关系如下: Build from source | TensorFlow 从上图可以看出,python3.8 对应的tensorflow/cuDNN/CUDA版本。 3.安装tensorflow #pip3 install tensorflow 新版…

ZooKeeper初探:分布式世界的守护者

欢迎来到我的博客,代码的世界里,每一行都是一个故事 ZooKeeper初探:分布式世界的守护者 前言Zookeeper的概述分布式系统中的角色和作用: Zookeeper的数据模型Znode的概念和层次结构:Znode的类型和应用场景:…

如何给AI下达精准的指令,哪些提示词对于AI是有效的?

刚上手那会,我倾向于将 prompt 翻译为“指令”,但这并不精确。“指令”通常对应instructions,属于 prompt 中的纯指令部分,通常是一个动宾结构(做什么)。剩下的部分更多是描述(describe&#xf…

【从零开始学习微服务 | 第一篇】什么是微服务

目录 前言: 架构风格: 单体架构: 分布式架构: 微服务: 总结: 前言: 在当今快速发展的软件开发领域,构建大型应用程序已经成为一项巨大的挑战。传统的单体应用架构往往难以满足…

Shiro框架:Shiro内置过滤器源码解析

目录 1. 常见项目中过滤器配置 2.Url访问控制配置解析为内置过滤器 2.1 DefaultFilterChainManager构造并注册内置过滤器 2.2 构造过滤器链 3. Shiro内置过滤器解析 3.1 内置过滤器概览 3.2 公共继承类解析 3.2.1 顶层Filter接口 3.2.2 AbstractFilter 3.2.3 Nameab…

Github上传代码/删除仓库/新建分支的操作流程记录

首先先安装git,安装完git后,看如下操作指令: 输入自己的用户名和邮箱(为注册GITHUB账号时的用户名和邮箱): git config --global user.name "HJX-exoskeleton" git config --global user.email …