yii如何使用事务,begin,commit,rollback
2012-12-12 14:42
543 查看
我们在数据库的使用中, 经常是使用事务的操作来保证数据的一致性, 那么在Yii中, 怎么使用事务呢, 其实很简单.
$transaction= Yii::app()->db->beginTransaction();//创建事务
$transaction->commit();//提交事务
$transaction->rollback();//回滚事务
// 以下实例将需要事务处理的操作放进try里
$transaction=Yii::app()->db->beginTransaction();
try{
$a= XXX::model()->findByPk(X);
$a->x= 1;
$a->update();
$b= YYY::model()->findByPk(Y);
$b->y= 2;
$b->update();
$transaction->commit();//提交事务会真正的执行数据库操作
}catch (Exception $e) {
$transaction->rollback();//如果操作失败, 数据回滚
}
$transaction= Yii::app()->db->beginTransaction();//创建事务
$transaction->commit();//提交事务
$transaction->rollback();//回滚事务
// 以下实例将需要事务处理的操作放进try里
$transaction=Yii::app()->db->beginTransaction();
try{
$a= XXX::model()->findByPk(X);
$a->x= 1;
$a->update();
$b= YYY::model()->findByPk(Y);
$b->y= 2;
$b->update();
$transaction->commit();//提交事务会真正的执行数据库操作
}catch (Exception $e) {
$transaction->rollback();//如果操作失败, 数据回滚
}
相关文章推荐
- yii如何使用事务,begin,commit,rollback
- Sql Server 中事务(begin tran/commit tran/rollback tran)的用法
- 事务处理中使用全局函数gf_begin_trans,gf_rollback_trans,gf_commit_trans
- Sql Server 中事务(begin tran/commit tran/rollback tran)的用法
- SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题
- SQLServer------begin tran/commit tran事务的使用方法
- DB2在导入数据时,如果数据量过大,出现事务日志满的错误(Database transaction log is full)该如何解决,commitcount使用
- mybatis中commit和rollback使用不当造成事务泄露和锁超时问题总结
- jdbc conn.commit()提交事务和 rollback()使用
- Sql Server 中事务(begin tran/commit tran/rollback tran)的用法
- yii如何使用事务
- SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题
- SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题
- 如何在 Visual C# 组件中使用 COM+ 事务
- 遇到no changes added to commit时如何正确使用git提交命令
- asp.net 事务的处理,dts 的设置,asp.net三种事务处理方法,三层架构,微软企业库,动软生成器生成的代码下如何使用事务
- mule使用jms 进行事务回滚(rollback) 和消息重发(redelivery)
- 如何使用Hibernate来管理事务
- awk 系列:如何使用 awk 的特殊模式 BEGIN 和 END
- Yii如何使用memcache缓存