我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL事务的SavePoint简介及操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL事务的SavePoint简介及操作

什么是SavePoint

SavePoint是数据库事务中的一个概念, 可以将整个事务切割为不同的小事务, 可以选择将状态回滚到某个小事务发生时的样子,

语法

定义保存点的语法如下:

SAVEPOINT 保存点的名称;

当我们想回滚到某个保存点时,可以使用下边的语句。

ROLLBACK [WORK] TO 保存点的名称

删除保存点

RELEASE SAVEPOINT 保存点名称;

重要操作

开启事务: begin
....DML语句....
设置保存点: savepoint 保存点名字
....DML语句....
设置保存点: savepoint 保存点名字2
....DML语句....
回滚保存点: rollback to 保存点名字2 (此时保存点2后面操作的状态都将回滚直保存点2时样子)

注意,回滚点无法随意跳转,例如上面,如果跳转到第一个保存点名字,就无法再到保存点名字2了,当事务整体提交、回滚时,保存点也随之释放。(一个事务中可以设置多少个保存点并无限制)

演示: 接下来用mysql演示一下,思路是向mysql insert三条数据, 每次insert设置一个保存点,在第三次insert后回滚到第一个保存点看下效果:

// 开始查询空表
mysql> select * from t_x;
Empty set
 
// 开启事务
mysql> begin;
Query OK, 0 rows affected (0.01 sec)
 
// 插入第一条数据
mysql> insert into t_x value(1, '1');
Query OK, 1 row affected (0.01 sec)

// 设置保存点
mysql> savepoint a1;
Query OK, 0 rows affected (0.01 sec)
 
// 此时查询一条数据
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
+----+------+
1 row in set (0.01 sec)

// 插入第二条数据
mysql> insert into t_x value(2, '2');
Query OK, 1 row affected (0.01 sec)

// 设置保存点2
mysql> savepoint a2;
Query OK, 0 rows affected (0.01 sec)

// 查询两条数据
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
|  2 | 2    |
+----+------+
2 rows in set (0.01 sec)

// 插入第三条数据
mysql> insert into t_x value(3, '3');
Query OK, 1 row affected (0.01 sec)

// 共三条
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
|  2 | 2    |
|  3 | 3    |
+----+------+
3 rows in set (0.01 sec)

// 回滚到第一个保存点
mysql> rollback to a1;
Query OK, 0 rows affected (0.01 sec)

// 此时查询,只有第一个保存点时的一条数据
mysql> select * from t_x;
+----+------+
| id | name |
+----+------+
|  1 | 1    |
+----+------+
1 row in set (0.00 sec)

// 尝试回滚到第二个保存点, 出错
mysql> rollback to a2;
1305 - SAVEPOINT a2 does not exist
mysql> 

到此这篇关于MySQL事务的SavePoint简介及操作的文章就介绍到这了,更多相关MySQL事务的SavePoint内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL事务的SavePoint简介及操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL事务的SavePoint简介及操作

SavePoint是数据库事务中的一个概念,可以将整个事务切割为不同的小事务,可以选择将状态回滚到某个小事务发生时的样子,本文给大家分享MySQL事务的SavePoint重要操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
2023-01-07

MySQL的savepoint简介及实例

目录写在前面1:什么是savepoint2:实例写在后面写在前面本文看下mysql的savepoint相关内容。http://www.cppcns.com1:什么是savepointsavepoint是事务中一个概念,允许在事务执行的
2023-08-24

MySQL查看表结构的实际操作命令简介

MySQL中查看表结构的常用操作命令包括:1. DESC命令: 用于查看表的结构信息,包括字段名、类型、长度、默认值等。示例:DESC table_name;2. SHOW COLUMNS命令: 用于显示表的列信息,包括字段名、类型、长度、
2023-09-05

MySQL 重命名表的操作方法及注意事项

目录 1.重命名表方法 2.注意事项总结: 1.重命名表方法 使用 RENAME TABLE 语句或 ALTER TABLE 语句都可以对表进行重命名,基本语法如下:# RENAME TABLE 语法: RENAME TABLE
2022-05-16

MySQL的工作流程及常用工具简介——MySQL数据库软件的使用

一. MySQL的工作流程 (1)操作系统用户启动MySQL服务。 (2)MySQL服务启动期间,首先将配置文件中的参数信息读入服务器内存。 (3)根据MySQL配置文件的参数信息或者编译MySQL时参数的默认值生成一个服务实例进程Instance。 (4)M
MySQL的工作流程及常用工具简介——MySQL数据库软件的使用
2018-11-17

MySQL数据库存储引擎介绍及数据库的操作详解

目录mysql存储引擎InnoDB存储引擎MyISAM储php存引擎Memory存储引擎Archive存储引擎数据库的相关操作创建数据库修改数据库删除数据库查看数据库列表打开数据库MySQL存储引擎InnoDB存储引擎InnoDB存储引
2022-08-12

PostgreSQL数据库事务插入删除及更新操作的方法

这篇文章主要介绍了PostgreSQL数据库事务插入删除及更新操作的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PostgreSQL数据库事务插入删除及更新操作的方法文章都会有所收获,下面我们一起来看看吧
2023-06-29

MySQL数据库中的事务操作与自动提交机制

MySQL数据库中的事务操作与自动提交机制在数据库系统中,事务(transaction)是指一组数据库操作,这些操作要么全部成功执行,要么全部失败并回滚到事务开始前的状态。MySQL数据库是一种常用的关系型数据库管理系统,支持事务操作和事
MySQL数据库中的事务操作与自动提交机制
2024-03-15

MySQL数据库中的事务操作与自动提交机制

MySQL数据库中的事务操作与自动提交机制在数据库系统中,事务(transaction)是指一组数据库操作,这些操作要么全部成功执行,要么全部失败并回滚到事务开始前的状态。MySQL数据库是一种常用的关系型数据库管理系统,支持事务操作和事
MySQL数据库中的事务操作与自动提交机制
2024-03-15

配置阿里云服务器上的Samba详细介绍及操作步骤

本文将详细介绍如何在阿里云服务器上配置Samba,包括什么是Samba,Samba的优点,阿里云服务器如何安装Samba,以及如何配置Samba的详细步骤。通过本文,您可以轻松地在阿里云服务器上使用Samba,实现文件共享和远程访问。什么是Samba:Samba是一种开源的网络文件共享软件,可以让多个操作系统在同
配置阿里云服务器上的Samba详细介绍及操作步骤
2023-12-18

编程热搜

目录