1. 程式人生 > >laravel 巢狀事務

laravel 巢狀事務

  • 什麼是巢狀事務? 一般情況下我們都是一個 begin, 一個 commitrollBack, 但是有可能我們有種場景需要 begin 然後在事務裡面再開一個事務, 這就是巢狀事務.
  • MySQL 巢狀事務支援
    • MySQL 裡面有個 savepoint 關鍵字, 可以模擬巢狀事務, 但事實上並不是真正的巢狀事務, 仍然是一個事務.
    • savepoint 的用處, 我們可以回滾事務內的部分修改
  • laravel 巢狀事務使用
    • DB::beginTransaction() 裡面再次使用 DB::beginTransaction() 即可, 但需要注意開啟事務的次數需要和 commit
      rollBack 的次數對應