TP5数据库事务操作

使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。

使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如:

1.自动控制事务处理

1 Db::transaction(function(){
2     Db::table('user')->find(1);
3     Db::table('user')->delete(1);
4 });

 

2.手动控制事务,例如:

 1 // 启动事务
 2 Db::startTrans();
 3 try{
 4     Db::table('user')->find(1);
 5     Db::table('user')->delete(1);
 6     // 提交事务
 7     Db::commit();   
 8 } catch (\Exception $e) {
 9     // 回滚事务
10     Db::rollback();
11 }

 

posted @ 2018-10-09 17:02  $wanggang  阅读(5042)  评论(0编辑  收藏  举报