使用事务处理的话 需要数据库引擎支持事务处理。如 MySQL 的 MyISAM 不支持事务处理 需要使用 InnoDB 引擎。
使用 transaction 方法操作数据库事务 当发生异常会自动回滚 例如:
自动控制事务处理
Db::transaction(function(){
Db::table('think_user')->find(1);
Db::table('think_user')->delete(1);
});
也可以手动控制事务 例如:
// 启动事务
Db::startTrans();
try{
Db::table('think_user')->find(1);
Db::table('think_user')->delete(1);
// 提交事务
Db::commit();
} catch (Exception $e) {
// 回滚事务
Db::rollback();
}
注意在事务操作的时候 确保你的数据库连接是相同的。
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题