当前位置: 首页 > news >正文

事务___

1.什么是事务?

事务是把一组SQL语句打包为一个“整体”,执行时要么执行全部,要么全部不执行(回滚)。这组SQL语句数量>=0

例如:

现在张三给李四转账100元:

执行时12,14行的语句必须都执行,否则数据出错。所以就把这两句SQL打包为一组

又比如:商品库存表和订单表

订单+1,库存-1

必须都执行

2.回滚(rollback)

如果数据库再运行过程中,在运行完12行后,突然服务器断电/系统宕机/服务器崩溃等,不能执行14行,这就会造成数据出错

所以数据库在运行过程中,进行增/删/改操作时,都会记录一个日志,记录当前操作并将其保存在硬盘上

如果事务正常执行完毕,保存的日志就会删除

如果事务执行一半异常退出,日志就会保存到硬盘上

重启MySQL服务器,就会读取日志中的内容,查看之前的操作。然后根据之前的操作,把硬盘保存的数据还原回去

3.事物的ACID特性

1.A(Atomicity)

原子性

把事务当作不可再分的“原子”

即一个事务中的所有操作,要么全部成功,要么全部失败,不会出现执行了一半这样的情况。如果在事务执行中发生错误,会回滚会事务开始前状态

2.C(Consistency)

一致性

在事务开始之前和事务结束以后,数据库的完整性不会被破坏。这表示写入的数据必须完全符合所有的预设规则,包括数据的精度、关联性以及关于事务执行过程中服 务器崩溃后如何恢复。

比如转账。必须是你-500,他+500,不能是你-500,他+0

3.I(Isolation)

隔离性

一个数据库服务器可以同时执行多个客户端提交的事务,并且事物之间不会相互影响。数据库允许多个事务同时并发,同时对数据进行读写和修改,隔离性可以防止多个事务并发执行时交叉执行导致数据不一致的问题。

事务隔离可以指定不同级别

4.D(Durabilty)

持久性

事务对数据做出的修改,都是持久的。数据保存在硬盘上,重启服务器,重启数据库,都不会使数据丢失

http://www.cnnetsun.cn/news/1967830.html

相关文章:

  • 终极免费彩色表情字体:EmojiOne Color完整使用指南
  • STM32 Flash Timeout 报错全解析:从芯片锁死到安全烧录的实战指南
  • NetworkTermination ATV固件刷机体验:S905W老盒子变身安卓TV,这几点避坑心得分享
  • STM32F103系列单片机选型指南:C8T6、RCT6、VET6、ZET6核心参数与典型应用场景解析
  • .NET金融数据集成终极指南:如何快速获取Yahoo Finance股票数据
  • 暗黑破坏神2现代化改造终极指南:从25帧卡顿到60帧流畅体验
  • 租赁行业:矮萝卜在红海市场中撕开一道口子
  • 钉钉H5应用环境检测:精准识别JSAPI运行容器的实战指南
  • 模电实战:5分钟学会用微变等效法分析放大电路动态特性(2023最新版)
  • PP-OCR实战解码:从论文策略到轻量化OCR系统构建
  • 告别大Batch和负样本:手把手复现SimSiam自监督训练(PyTorch版)
  • VQA:从数据集构建到模型评估,拆解视觉问答的核心挑战
  • 如何有效改善注意力问题,帮助孩子应对课堂行为挑战?
  • 封了几百万个账号的 Claude, 路走窄了
  • STM32时钟配置实战:从HAL库到标准库的80MHz系统时钟设置指南
  • R3nzSkin技术解析:英雄联盟内存换肤工具的实战指南与架构揭秘
  • Notepad--终极指南:如何在macOS上高效使用这款免费跨平台文本编辑器
  • 软件价值管理中的效益评估方法
  • 2026奇点大会核心议题深度拆解:LLM调用配额如何影响CI/CD吞吐量?——基于12家头部科技公司实测数据
  • 超级数字员工系统源码包+搭建教程,零基础小白也能轻松部署
  • 如何快速将iPhone投屏到Windows:终极AirPlay 2接收器解决方案
  • 别再只用RSA了!聊聊Curve25519和Ed25519这对‘安全快车道’兄弟
  • 从CH344Q到稳定RS485网关:高速USB转4串口的设计精要与实战解析
  • Kandinsky-5.0-I2V-Lite-5s问题解决:生成慢怎么办?参数怎么调?新手常见问题全解答
  • 从“借书证”到“思想武器”:一个技术人的知识突围与认知觉醒
  • Python实战:用statsmodels搞定Tukey-Kramer检验(含样本量不等处理)
  • 前端分页实现数据更新保持页码原位
  • 通用重工M-10 iD系列
  • VMware Unlocker技术解析:如何在Windows和Linux上运行macOS虚拟机
  • 机器学习模型部署