首先MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!
tp5 回滚
1. Db::startTrans(); //不能少
2. try {
4. Db::commit(); //数据提交操作
6. } catch (\\Exception $e) {
7. Db::rollback(); //异常时回滚,不能少
8. throw $e;
注意:
如果有return exit die操作 不要放在 commit()前,否则数据操作异常,会执行回滚操作。
如果有消息队列,是根据 commit() 之后 数据的ID 操作的,队列操作要放在 commit()之后。