什么是事务?
事物就是一个完整的业务逻辑。比如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;
<a name="V7RSV"></a>
### 回滚事务
事务回滚后将会清空事务日志,数据不会被插入到数据库。
```sql
-- 开启事务
START TRANSACTION;
-- 插入数据
INSERT INTO t_test(name) VALUES("xiaoming12221");
INSERT INTO t_test(name) VALUES("xiaom222ing");
-- 回滚事务
ROLLBACK;