事务

保证一组操作不会中途停止,要不全部执行完毕,要不都不执行。

  1. 保留点:事务处理中设置的临时点,可以回退到指定的保留点。

  2. 事务只能回退 INSERT , DELETE 与 UPDATE 语句,不能对SELECT进行回退
    —— 也没啥必要,因为查询并不会改变表中的数据。

  3. 事务中可以写 CREATE 或 DROP,但回退时这些操作并不撤销


开始与提交

关键字 BEGIN TRANSACTION 与 COMMIT TRANSACTION 完成。

通过 BEGIN 开始,通过 COMMIT 将整个事务提交。

BEGIN TRANSACTION;
UPDATE OrdersCopy SET order_num="3423424";
COMMIT TRANSACTION;

回退

通过 SAVEPOINT 设置保留点,ROLLBACK TO 回退到指定的保留点。

然后通过 ROLLBACK 回退到指定的保留点,并通过 COMMIT TRANSACTION将保留点之间的操作提交。

BEGIN TRANSACTION;
UPDATE OC SET order_num="2223332";
SAVEPOINT update1;  -- 指定保留点
UPDATE OC SET cust_id="11111";
SAVEPOINT update2;
ROLLBACK TO update1;  -- 回退到指定的保留点,并将保底点之前有事务提交
COMMIT TRANSACTION;

上述操作只会将 order_num 设置成 2223332,第二次的修改不会生效。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 来源转载自:http://www.cnblogs.com/ymy124/p/3718439.html MySQL的...
    Mrwangs阅读 2,013评论 0 8
  • 链接 事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都...
    yangqi916阅读 454评论 0 0
  • 1、概述   事务是数据库区别于文件系统的重要特征之一,其用于保证数据库的完整性,事务能使批量的SQL语句要么完全...
    黒猫阅读 829评论 0 2
  • 在生活中,我们时常会遇到一系列连续不可中断的事情。例如会计记账时,有借必有贷,借贷必相等;又如从 ATM 取钱时,...
    Kerwong阅读 1,433评论 0 4
  • 导语:计算机硬件在飞速发展,数据规模在急速膨胀,但是数据库仍然使用是十年以前的架构体系,WiredTiger 尝试...
    isgiker阅读 3,547评论 0 7

友情链接更多精彩内容