美文网首页
Laravel 多库下的DB::transaction()事务处

Laravel 多库下的DB::transaction()事务处

作者: 大萝卜2022 | 来源:发表于2022-08-31 12:03 被阅读0次

项目使用多个数据库配置,DB::transaction()使用的是默认库的事务操作。所以要指定哪个数据库的事务,参考处理:

方案一、


DB::connection('mysql2')->transaction(function () use ($uid, $roleId) {
 RoomUserRole::insert([
  'uid' => $uid,
  'role_id' => $roleId,
  'created_at' => LARAVEL_START,
  'updated_at' => LARAVEL_START
 ]);
 
 RoomUserRoleLog::insert([
  'uid' => $uid,
  'handle_type' => 1,
  'admin_uid' => Auth::user()->id,
  'created_at' => LARAVEL_START,
  'updated_at' => LARAVEL_START
 ]);
 
}); // 这样你会发现事务才正常回滚

方案二、


DB::connection('mysql_chat_room')->beginTransaction();
DB::connection('mysql_chat_room')->commit();
DB::connection('mysql_chat_room')->rollBack(); // 指定库,不然都会跑默认配置库的事务

相关文章

  • Yii2 事务

    事务(Transaction) 在Yii中,使用 yii\db\Transaction 来表示数据库事务。 一般情...

  • YII 事务(Transaction)

    在Yii中,使用yii\db\Transaction来表示数据库事务。一般情况下,我们从数据库连接启用事务,通常采...

  • MySql 管理事务处理

    事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的MySQL操作要么...

  • laravel 数据库链接方法

    laravel 数据库 一、数据库操作之DB facade 在app->Http->Controllers目录下...

  • 【4】Spring源码-Transaction

    5. Transaction 默认情况下spring中的事务处理只对RuntimeException方法进行回滚,...

  • OLAP和OLTP

    联机事务处理(OLTP)(on-line transaction processing)主要执行基本日常的事务处理...

  • (3)OLTP/OLAP

    先进行一下名词解释。 OLTP(On-Line Transaction Processing):联机事务处理过程,...

  • SQL学习十七、事务处理

    事务处理 使用事务处理(transaction processing),通过确保成批的 SQL 操作要么 完全执行...

  • OLTP和OLAP,联机事务处理和联机分析处理

    联机事务处理OLTP(on-line transaction processing) 主要是执行基本日常的事务处理...

  • 数据库基础知识

    OLTP & OLAP OLTP: Online Transaction Processing 联机事务处理 OL...

网友评论

      本文标题:Laravel 多库下的DB::transaction()事务处

      本文链接:https://www.haomeiwen.com/subject/ebxsnrtx.html