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

【数据库篇|MySQL】事务

一.定义

事务(Transaction)是把一组 SQL 操作当作一个逻辑单元来执行,要么全部成功,要么全部失败回滚,以此保证数据的一致性和完整性。

二.事务的四大特性(ACID)

原子性(Atomicity):事务内的操作要么全部完成,要么一个都不做。出错了就回滚到事务开始前的状态。

一致性(Consistency):事务执行前后,数据库都处于合法的状态(约束、触发器等不被破坏)。

隔离性(Isolation):多个事务并发执行时互不干扰,彼此看不见中间状态。

持久性(Durability):事务提交后,数据的修改就是永久的,即使系统崩溃也不会丢失。

三.事务操作

3.1 开启事务

方法一:

START TRANSACTION;

方法二:

BEGIN;

3.2 执行操作正常,提交

COMMIT;

3.3 执行操作出问题,回滚

ROLLBACK;

3.4 查看当前事务是否开启

SELECT @@autocommit;

3.5 提交:1为自动,0为手动

SET autocommit = 0;

四.并发事务问题

脏读:读到其他事务未提交的修改数据。

不可重复读:同一事务内,两次查询结果不一致(其他事务已提交修改)。

幻读:同一事务内,查询到的记录条数变了(其他事务新增 / 删除)。

五.隔离级别(由低到高)

隔离级别脏读不可重复读幻读
READ UNCOMMITTED可能可能可能
READ COMMITTED不会可能可能
REPEATABLE READ(默认)不会不会可能
SERIALIZABLE不会不会不会

事务隔离级别越高,数据越安全,但是性能越低。

查看事务隔离级别:

SELECT @@TRANSACTION_ISOLATION;

设置事务隔离级别:

SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }

SESSION:只对当前连接生效(推荐,安全)
GLOBAL:对所有新连接生效(需要权限,谨慎使用)

http://www.jsqmd.com/news/882656/

相关文章:

  • AI写论文不用怕!4款AI论文生成工具,为你的论文写作保驾护航
  • 抖音矩阵账号搭建怎么做?新手实操指南
  • 低压电工-防雷、防静电、防电磁辐射
  • 构建 AI Agent Harness Engineering 时常见的十个错误
  • 全面战争:战锤3 2026官方正版最新版pc免费下载(看到请立即转存 资源随时失效)手机版通用
  • 利用AI工具生成画图板工具
  • KKManager终极指南:一站式解决Illusion游戏模组管理难题
  • NHSE完整教程:动物森友会存档编辑终极指南
  • BetterJoy终极指南:轻松让Switch手柄在电脑和模拟器上完美使用
  • Claude Code从安装到使用详细教程(2026最新版)可绑定国内模型DeepSeek或智谱GLM
  • 双向晶闸管交流调压基础知识及Multisim电路仿真
  • 如何快速从视频中提取PPT:3分钟学会智能幻灯片导出
  • 保姆级教程:用Canmv IDE给K210开发板烧录.bin和.kmodel文件(附Flash地址设置技巧)
  • LizzieYzy:围棋AI分析工具的完全指南 [特殊字符]
  • FeHelper:一站式前端开发工具箱的完整指南
  • Rust异步架构实现98%精准内容提取:番茄小说下载器技术深度解析
  • 一文读懂:C++中单例模式的实现
  • LaTeX公式到Word转换终极指南:3分钟搞定学术文档排版难题
  • Driver Store Explorer终极指南:快速清理Windows驱动存储的完整教程
  • OneMore终极指南:如何3步完成OneNote全局搜索替换
  • OneMore如何让OneNote的搜索替换功能实现跨越式升级?
  • Android跨进程通信深度解析:AIDL底层机制与最佳实践
  • 别再只搭环境了!用LangChain+ChromaDB在Mac上快速构建你的第一个私有知识库问答机器人
  • 动态目标跨镜无缝接力追踪技术在武警应急处置场景中的应用白皮书
  • MAD-PINN:基于物理信息神经网络的多智能体安全最优控制框架
  • 城通网盘直连解析:3分钟获取高速下载地址的终极指南
  • 终极NCM文件解密指南:快速解锁网易云音乐加密格式
  • 3个步骤掌握AMD Ryzen处理器调试:免费开源SMUDebugTool完整教程
  • Selenium工程化实践:定位、等待与Page Object的稳定性设计
  • Windows双击模拟的底层原理与C#实战实现