深入解析Yii框架中的数据库事务处理机制
Yii框架是支持数据库事务处理的,关于事务,这里就不多说了,想要了解的读者可以参看本站文章:
关于数据库(MySQL)事务
在项目中遇到批量删除的地方一般会使用到事务,下面列举一个用法实例与大家分享。
-
- <?php
- $array=array(
- 0=>array('username'=>'phpernote.com_0','password'=>'123456'),
- 1=>array('username'=>'u_1','password'=>'123456'),
- 2=>array('username'=>'u_2','password'=>'123456')
- );
- $transaction=Yii::app()->db->dbConnection->beginTransaction();
- //此处db代表的是定义在main.php中的数据库连接对象db
- try{
- Yii::app()->db->createCommand()->insert('tbl_user',$array[0]);
- Yii::app()->db->createCommand()->insert('tbl_user',$array[1]);
- Yii::app()->db->createCommand()->insert('tbl_user',$array[2]);
- $transaction->commit();
- }catch(Exception $e){
- $transaction->rollback();
- }
复制代码
注意:如果你使用的是MySQL数据库,那么表引擎必须是innodb类型的,因为MySQL数据库的MyISAM引擎不支持事务处理,所以如上代码不会达到预想的目的。
|