事务

事务

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;

思考

  • 什么情况下使用事务?

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

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

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

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

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

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值