【Mysql】mysql学习之旅06-事务

MySQL事务和锁06 全局事务涉及多个本身是事务的操作,但是所有的操作必须作为一个组完成,或者作为一个组回滚。从本质上说,这扩展了酸的性质 “ 上升到一个层次 ” 这样,多个酸事务可以作为全局操作中也具有酸属性的组件一致执行。一个应用程序执行涉及不同数据库服务器的操作,例如mysql服务器和甲骨文服务器(或多个mysql服务器),其中涉及多个服务器的操作必须作为全局事务的一部分发生,而不是作为每个服务器的本地独立事务发生。数据交换机的mysql实现使数据交换机能够充当资源管理器,在全局事务中处理数据交换机的事务。 阅读详情

mysql学习之旅06-事务

概念:

  • 事务是为了完成某一项工作或业务的一组步骤的集合
  • 事务是一个完整的整体,不能拆分开
  • 事务在数据库中的表现就是一组sql语句完成某个业务

特新(ACID):

  • 原子性(Atomicity): 事务是一个整体,不能分割
  • 一致性(Consistency): 事务执行的结果只有两种,全部成功或者全部失败。不存在部分成功或部分失败的情况
  • 隔离性(Isolation): 各个事务之间相互隔离,互不影响
  • 持久性(Durability): 事务执行的结果可以永久保存到数据库或文件中。任何时候都可以查询事务执行的 结果。

使用:

  1. mysql默认事务是自动提交的
  2. 查看事务自动提交的状态
select @@AUTOCOMMIT
或者
SHOW SESSION VARIABLES LIKE 'AUTOCOMMIT'
  1. 可以设置事务提交的模式
SET AUTOCOMMIT = 0; 关闭
SET AUTOCOMMIT = 1; 开启
### 设置关闭后需要手动提交事务COMMIT,或者回滚事务ROLLBACK
  1. 事务使用方式
  • 开启事务:START TRANSACTION; 或者BEGIN;
  • 提交事务:COMMIT;事务成功,事务的处理结果永久保存到数据库
  • 回滚事务:ROLLBACK;事务失败,回滚到事务开始之前的状态,注意自动增长不会回滚
  1. 事务只针对数据库中表的变动,不针对查询

隔离级别的安全问题

  • 读问题:脏读,不可重复读,幻读
  • 写问题:丢失更新(悲观锁,乐观锁)

四种隔离级别:

级别含义备注
READ UNCOMMITTED读未提交会出现脏读:一个事务读到了另一个事务未提交的数据
READ COMMITTED读已提交会出现不可重复读:一个事务的数据修改未提交,另一个事务无法进行数据修改操作,在一个事务修改提交之后,另一个事务在它提交前查询和提交后查询结果是不一样的,所以不可重复读取统一数据
REPEATABLE READ可重复读(mysql)会出现幻读现象:A事务在B事务提交修改之前做了查询,在B事务提交之后,A事务再次查询结果和之前查的结果一样, 并没有查询到B事务提交后的数据
Serializable可串行化
查看隔离级别
SELECT @@tx_isolation
设置隔离级别
SET SESSION TRANSACTION ISOLATION LEVEL read uncommitted
sql实操:
//查看事务自动提交是否开启(1开启,0关闭)
select @@autocommit;
//设置手动提交
set @@autocommit = 0;

//开启一个事务
start transaction;
begin;

//提交事务
commit;

//回滚事务
rollback;
mysql事务 mysql事务回滚 MySQL事务死锁 如何解除死锁 资金出入账 mysql事务;mysql事务回滚;MySQL事务死锁;如何解除死锁;资金出入账:最近使用golang做资金账户,目前涉及到这两个问题:资金入账时,可能存在提现【出账】; 资金提现时,可能存在资金入账。因而,为了保证资金的正确性,这里需要事务操作。...... 阅读详情

相关推荐

mysql 事务嵌套

通过对mysql事务进行测试,还原了事务嵌套带来的后果,同时,引申出了利用savepoint来实现对事务进行部分提交的特性。

csdntestuser1的博客 4467

狂神说MySQL06:事务和索引

狂神说MySQL系列连载课程,通俗易懂,基于MySQL5.7.19版本,欢迎各位狂粉转发关注学习。禁止随意转载,转载记住贴出B站视频链接及公众号链接!上课视频同步文档事务和索引事务什么是...

狂神说 8520

ChatUI vs Ant Design X 技术选型对比

维度ChatUI优势轻量级、易上手、完美兼容 Ant Design全能型框架、企业级扩展性、深度模型集成局限性功能单一、缺乏高级交互支持学习曲线陡峭、包体积较大最佳实践单独聊天窗口集成整体智能助手系统开发通过对比可见,ChatUI 适合快速实现基础对话功能,而Ant Design X 更适合构建复杂的 AI 驱动应用。实际选择时需结合项目规模、团队技术栈和对交互复杂度的需求综合评估。

四楼没电梯的专栏 2262

Mysql深入学习 基础篇 Ss.06 事务

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作,这些操作要么同时成功,要么同时失败银行的存取款问题MySQL的事务是自动提交的,也就是说,当执行一条DML语句时,MySQL会立即隐式的提交事务二、事务操作案例:转账操作(张三给李四转账1000元)— 1.查询张三账户余额select * from account where name = '张三';— 2.将张三账户余额-1000。

m0_73983707的博客 1118

Node框架之NestJS入门学习

文章主要分为三部分:1 NestJS 与Egg对比2 NestJS 基础知识介绍3 使用NestJS快速搭建应用,实现CURD操作e-link文档Egg官网NestJS 官网NestJS中文文档(非官方)

十九万里的博客 4738

Eclipse邂逅Deepseek:本地化部署全攻略

通过前面一系列的步骤,我们成功地在 Eclipse 中完成了 Deepseek 的本地化部署,并且对部署后的功能进行了测试和优化,还解决了可能遇到的一些常见问题。这一过程不仅让我们体验到了将强大的大语言模型与高效的开发环境相结合的魅力,也为我们在软件开发过程中带来了诸多便利。本地化部署 Deepseek 到 Eclipse,使得我们在代码编写过程中能够获得智能的代码补全和精准的问答支持,大大提高了开发效率。同时,本地化部署保障了数据的安全性和隐私性,避免了数据在传输过程中可能面临的风险。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4509

mysql学习之旅(十二)——Mysql的事务

文章目录Mysql的事务 Mysql的事务

weixin_38377637的博客 303

芯片原厂linux驱动开发的分享

大家好,我是XX,来自湖南XX学院,电子信息18级,也曾在创新基地控制组学习过两三年,毕业后就职于一家芯片原厂的解决方案部,担任驱动工程师的职位,算上实习期,我的工作时长已有两年。在此我想将这两年期间学习与积累到的一些经验输出出来,与大家一同分享。知识面有限,只能简单介绍一些驱动开发方向的一些经验,且由于经验尚浅,文中难免会有一些疏漏和错误之处,还请大家积极地批评指正。

嵌入式技术开发 847

【MySQL】06.事务

什么时候用?只要涉及多个逻辑关联的操作,统统加事务。事务块里的代码要尽可能快,不要在事务中进行远程 API 调用或耗时计算,否则会长时间占用数据库锁,导致系统变慢。

2303_80072254的博客 619

【C++】构造函数之初始化列表(Initialization list of constructors)

本讲主要是构造函数的初始化列表的讲节,但是本节很重要,可以关乎后面写项目

m0_62599305的博客 2232

R语言线性混合模型(LMM)分析

它将数据表示为固定效应和随机效应的线性组合,其中固定效应表示总体均值的影响,随机效应表示个体间的随机差异。LMM的目标是通过最大似然估计或最小二乘估计来估计模型中的固定效应和随机效应的参数。LMM结合了固定效应和随机效应,能够同时考虑个体间和个体内的变异,并适用于具有相关性的数据。目前在使用LMM的R语言包中,较常用的是lme4和nlme包,它们提供了丰富的函数和工具来拟合和分析线性混合模型。面板数据分析:LMM适用于分析具有面板结构的数据,如经济学中的面板数据或教育研究中的学生评估数据。

走向CTO的路上... 2966

MySQL06 - 事务之MVCC机制

MySQL06 - 事务之MVCC机制

qq_43350524的博客 1499

set_input_delay/set_output_delay介绍

针对这一类的情况,在做block时,cts之后,便需要将update_io_latency给关闭。那么,计算的timing就是错误的了。对于hier flow来讲,切分block,进行timing budget的时候,clock tree还未长。计算block端口上的timing,通常需要用到set_input_delay和set_output_delay告知工具外部电路的延迟信息,以方便工具计算端口上的timing。此时,工具在计算in2reg的timing时,便会将2.67ns的delay带进来。

芯冰乐 318

06-MySQL-数据库事务

事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。这里面有两个关键点,第一个,所谓的逻辑单位,意味着它是数据库最小的工作单元,是不可以再分的。第二个,它可能包含了一个或者一系列的 DML语句,包括insertdelete update。(单条 DDL(create drop)和DCL(grant revoke)也会有事务)

Bonnie_1215的博客 960

windows server 2012安装升级MySQL

本篇文章主要介绍的是windows server 2012 R2操作系统安装升级以及过程中遇到的问题和对应的解决方法。(数据库低版本为:mysql-5.7.27-winx64;数据库数据库高版本为:mysql-5.7.44-winx64;提示:以下是本篇文章正文内容,下面案例可供参考。

qq_42776231的博客 780

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MySQL 事务的操作和四大特性

详细介绍了事务的概念,操作步骤,事务的四大特性,事务并发问题以及事务隔离级别

2202_76097976的博客 2463

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【MySQL】什么是事务?在高并发场景使用事务会出现什么问题,该如何解决

详解MySQL中事务的使用,事务在高并发场景使用会出现什么问题,如何解决。

yican2580的博客 5843

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

MySQL 06 事务、视图、索引、备份和恢复

一、学习目标 二、事务 三、使用事务 四、索引 五、创建、删除索引 六、查看、删除索引 七、视图 八、数据库备份 九、mysqldump命令备份数据库 十、使用Navicat备份数据库 十一、恢复数据库 十二、使用source命令恢复数据库 十三、使用Navicat导入数据 十四、本竟总结

云哥的博客 1809

学习笔记-MYSQL 事务

事务是访问并可能更新数据库中数据的一个执行单元,这个单元是由一条或多条语句组成,单元里的语句是相互依赖的。 这个单元里的SQL语句一起向系统提交,提交后要么都执行成功,要么都失败。

LearnTech_123的博客 1733

mysql事务的主要代码_MySQL学习06(事务和索引)

事务概述什么是事务事务就是将一组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行MySQL事务处理只支持InnoDB和BDB数据表类型事务的ACID原则原子性(Atomic)整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(ROLLBACK)到事务开始前的状态,就像这个事务从来没有执行过一样。...

weixin_35823067的博客 146

MySQL学习记录06事务、事务管理(ACID)、事务的隔离级别

文章目录MySQL学习记录06事务、事务管理(ACID)、事务的隔离级别6.1什么是事务6.2事务管理(ACID)6.3事务的隔离级别(了解)6.4执行事务 MySQL学习记录06事务、事务管理(ACID)、事务的隔离级别 6.1什么是事务 要么都成功,要么都失败 典型例子:银行转账 1、SQL执行 A给B转账 转帐前,A账户有1000,B账户有200,操作:A转给B200 2、SQL执行 B收到A的钱 此时A账户还有800 B账户有400 如果1成功而2失败,那么A账户少了200但B并没有收到200,20

asdfghjkl_zth的博客 645

【刷题Day06】MySQL的事务

qq_37969524的博客 584

MySQL事务(transaction) (有这篇就足够了..)

事务就是由单独单元的一个或多个sql语句组成,在这个单元中,每个sql语句都是相互依赖的。而整个单独单元是作为一个不可分割的整体存在,类似于物理当中的原子(一种不可分割的最小单位)。 往通俗的讲就是,事务就是一个整体,里面的内容要么都执行成功,要么都不成功。不可能存在部分执行成功而部分执行不成功的情况。

qq_56880706的博客 5万+

【JavaWeb学习记录06】MySQL-事务

数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败。事务是一个不可分割的工作逻辑单元。这些概念不好理解,接下来举例说明,如下图有一张表张三和李四账户中各有100块钱,现李四需要转换500块钱给张三,具体的转账操作为第一步:查询李四账户余额第二步:从李四账户金额 -500第三步:给张三账户金额 +500。

晨曦默涵 156

06-MySQL事务

事务(Transaction)是由⼀系列对系统中数据进⾏访问与更新的操作所组成的⼀个程序执⾏逻辑单元。 事务的语法: 1. start transaction;/ begin;开启事务 2. commit;提交事务,使得当前的修改确认 3. rollback; 回滚事务,使得当前的修改被放弃 1、事务的ACID特性 1. 原⼦性(Atomicity) 事务的原⼦性是指事务必须是⼀个原⼦的操作序列单元。事务中包含的各项操作在⼀次执⾏过程中,只允许出现两种状态之⼀: 全部执⾏成功 全部执⾏失败

rookie__zhou的博客 206

MySQL 系统学习系列 - 事务、视图与存储过程的使用《MySQL系列篇-06》

事务、视图与存储过程: 事务(transaction)是指访问并更新数据库中各种数据的一个程序执行单元(unit) [最小执行单元] | 视图是从一个或多个基本表(或视图)中导出的虚拟的表 | 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中经过第一次编译后调用不需要再次编译

qq_73220073的博客 1137
上一篇: 【Mysql】mysql学习之旅05-多表操作
下一篇: 【Mysql】mysql学习之旅07-视图
JeffHan^_^
博客等级 码龄7年 1万+粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值