什么是事务?
事物就是一个完整的业务逻辑。比如A账户给B站户转账1000¥。1:将A站户的钱减去1000¥(update语句)、2:将B站户的钱增加1000¥(update语句),两个语句必须都执行成功,才能执行下面的语句,否则就算失败。这样才算一个完整的业务逻辑。该语句被称作为一个工作单元。

事务之行逻辑

在执行事务的过程中,每一条DML的操作都会记录到事务性活动的日志文中。我们可以提交事务,也可以回滚事务。

提交事务

  • 清空事务任务的日志文件,将数据全部彻底持久化道数据库中。
  • 提交事务标志着食物结束,并且是全部成功的结束

    回滚事务

  • 将之前所有的DML操作全部撤销,并且清空事务性活动的日志文件。

  • 回滚事务标志着食物的结束。并且是全部失败的结束

    事务演示

    提交事务:start transction => inert => commit 之后 插入的数据被提交
    回滚事务:start transction => inert => rollback 之后 插入的数据被回滚(回滚到上一次提交的地方)
    注意:⚠️ 如果代码已经commit 是无法回滚。

    提交事务

    事务提交后数据将会插入到数据库中。 ```sql

— 开启事务 START TRANSACTION;

— 插入数据 INSERT INTO t_test(name) VALUES(“xiaoming12221”); INSERT INTO t_test(name) VALUES(“xiaom222ing”);

— 提交事务 COMMIT;

  1. <a name="V7RSV"></a>
  2. ### 回滚事务
  3. 事务回滚后将会清空事务日志,数据不会被插入到数据库。
  4. ```sql
  5. -- 开启事务
  6. START TRANSACTION;
  7. -- 插入数据
  8. INSERT INTO t_test(name) VALUES("xiaoming12221");
  9. INSERT INTO t_test(name) VALUES("xiaom222ing");
  10. -- 回滚事务
  11. ROLLBACK;