暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

回滚事务

SQL新手 2022-12-08
285

本文介绍回滚事务的操作。

语句语法格式

回滚一个事务指将事务的修改全部撤销,可以回滚当前整个未提交事务,也可以回滚到事务中任意一个保存点。

  • 回滚整个事务:

    • 所有的修改会被丢弃。

    • 清除所有保存点。

    • 释放事务持有的所有锁。

    语句语法格式如下:

    ROLLBACK;
    
  • 回滚到某个保存点,可以使用 ROLLBACK TO SAVEPOINT 语句。

    • 事务不会结束。

    • 保存点之前的修改被保留,保存点之后的修改被丢弃。

    • 清除保存点之后的保存点(不包括保存点自身)。

    • 释放保存点之后事务持有的所有锁。

    语句语法格式如下:

    ROLLBACK TO SAVEPOINT pointname;
    

示例

以下示例通过 ROLLBACK 回滚当前事务的全部修改。回滚到保存点的具体操作,请参考 示例:将一个事务回滚到一个保存点

obclient> SELECT * FROM t_insert;
+----+------+-------+---------------------+
| ID | NAME | VALUE | GMT_CREATE          |
+----+------+-------+---------------------+
|  1 | CN   | 10001 | 1970-01-01 17:52:31 |
|  2 | US   | 10002 | 1970-01-01 17:52:38 |
|  3 | EN   | 10003 | 1970-01-01 17:52:38 |
+----+------+-------+---------------------+
3 rows in set 

obclient> BEGIN;
Query OK, 0 rows affected 

obclient> INSERT INTO t_insert(id, name, value) VALUES(4,'JP',10004);
Query OK, 1 row affected 

obclient> INSERT INTO t_insert(id, name, value) VALUES(5,'FR',10005),(6,'RU',10006);
Query OK, 2 rows affected 
Records: 2  Duplicates: 0  Warnings: 0

obclient> SELECT * FROM t_insert;
+----+------+-------+---------------------+
| ID | NAME | VALUE | GMT_CREATE          |
+----+------+-------+---------------------+
|  1 | CN   | 10001 | 1970-01-01 17:52:31 |
|  2 | US   | 10002 | 1970-01-01 17:52:38 |
|  3 | EN   | 10003 | 1970-01-01 17:52:38 |
|  4 | JP   | 10004 | 1970-01-01 17:53:34 |
|  5 | FR   | 10005 | 1970-01-01 17:54:53 |
|  6 | RU   | 10006 | 1970-01-01 17:54:53 |
+----+------+-------+---------------------+
6 rows in set 

obclient> ROLLBACK;
Query OK, 0 rows affected 

obclient> SELECT * FROM t_insert;
+----+------+-------+---------------------+
| ID | NAME | VALUE | GMT_CREATE          |
+----+------+-------+---------------------+
|  1 | CN   | 10001 | 1970-01-01 17:52:31 |
|  2 | US   | 10002 | 1970-01-01 17:52:38 |
|  3 | EN   | 10003 | 1970-01-01 17:52:38 |
+----+------+-------+---------------------+
3 rows in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论