欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

事务

程序员文章站 2022-05-12 21:29:28
...

事务

show engines \G;

输出

*************************** 1. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES //是否支持事务
          XA: YES
  Savepoints: YES

针对的是存储引擎,当前存储引擎是否支持存储引擎。

事务的sql语句

start transaction;// 开启事务
$sql;// 执行sql语句
commit;// 执行事务

结束一个事务的时候开启另一个事务

commit and chain;

回滚,即取消这次操作

rollback;

可以设置暂存点

savepoint $savePointName;

回滚到指定暂存点

rollback to savepoint $savePointName;

思考

  • 什么情况下使用事务?

一致性,所有操作要么都成功,要么都失败。

  • 在开启事务之后我有哪些选择?

取消本次操作,或者提交本次操作,或者提交部分本次操作。

  • 如果我想部分回滚,怎么实现?

使用暂存点,就像游戏里的暂存点一样。

总结

比起以前对事务的了解,更加多了事务是可以回滚的,以及事务可以部分回滚,这两个新的知识点。