MySQL 事务处理

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 事务是一系列操作,将它们综合为一个整体,这些操作必须全部完成,如果有一个操作失败,那么事务就回滚到最开始的状态,仿佛什么都没发生过一样。

事务


  事务是一系列操作,将它们综合为一个整体,这些操作必须全部完成,如果有一个操作失败,那么事务就回滚到最开始的状态,仿佛什么都没发生过一样。


ACID 原则


  • 原子性: 一组事务,要么都成功,要么都失败。
  • 一致性: 事务前后的数据完整性要保持一致。比如转账业务,无论事务执行是否成功,参与转账的两个账号总额是不变的。
  • 隔离性: 多个并发事务之间要相互隔离,不能被其他事务的操作数据所干扰。
  • 持久性: 事务一旦提交则不可逆,被持久化到数据库中。


隔离性导致的问题


  • 脏读: 指一个事务读取了另外一个事务未提交的数据。
  • 不可重复读: 指在一个事务内对同一记录的两次读取不一致,因为另一事务对该记录做了修改。
  • 虚读(幻读): 指在一个事务内对同一张表的两次查询不一致,因为另一事务插入了一条新记录。


MySQL 事务处理

-- MySQL 是默认开启事务自动提交的
-- 1.手动关闭自动提交
SET autocommit = 0;
-- 2.开启事务
START TRANSACTION
-- 3.处理事务
处理事务...
-- 4.失败则回滚(恢复)
ROLLBACK
-- 5.提交事务(持久化)
COMMIT
-- 6.事务结束,开启自动提交
SET autocommit = 1;
-- 事务中可设置保存点
SAVEPOINT -- 保存点
ROLLBACK TO SAVEPOINT -- 回滚到保存点
RELEASE SAVEPOINT -- 撤销保存点


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL
Mysql基础第二十九天,管理事务处理
Mysql基础第二十九天,管理事务处理
18 0
Mysql基础第二十九天,管理事务处理
|
4月前
|
SQL 前端开发 关系型数据库
MYSQL基础之【正则表达式,事务处理】
MYSQL基础之【正则表达式,事务处理】
28 0
|
SQL 存储 安全
Mysql必知必会:管理事务处理
Mysql必知必会:管理事务处理
|
SQL 关系型数据库 MySQL
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
101 0
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
|
存储 SQL 缓存
Spring事务专题(三)事务的基本概念,Mysql事务处理原理
本文主要介绍了事务的基本概念跟MySQL中事务的实现原理
128 0
|
存储 安全 关系型数据库
|
SQL 关系型数据库 PHP
|
存储 关系型数据库 MySQL
MySQL · myrocks · myrocks之事务处理
前言 mysql目前支持的事务引擎有innodb,tokudb。 rocksdb加入mysql阵营后,mysql支持的事务引擎增长至3个。 myrocks目前支持的事务隔离级别有read-committed和repeatable-read。 同innodb一样,myrocks也支持MVCC机制。 可以说,myrocks提供了很好的事务支持,能够满足的一般业务的事务需求。 sequence n
2408 0
|
SQL 关系型数据库 MySQL
MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
MySQL 事务处理 简单介绍事务处理: MySQL 事务主要用于处理操作量大,复杂度高的数据。 比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。
1336 0