<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ThinkPHP5 事務(wù)操作

          共 1229字,需瀏覽 3分鐘

           ·

          2021-06-14 11:17

          使用事務(wù)處理的話,需要數(shù)據(jù)庫(kù)引擎支持事務(wù)處理。比如 MySQL 的 MyISAM 不支持事務(wù)處理,需要使用 InnoDB 引擎。


          ThinkPHP5.0

          使用 transaction 方法操作數(shù)據(jù)庫(kù)事務(wù),當(dāng)發(fā)生異常會(huì)自動(dòng)回滾,例如:

          自動(dòng)控制事務(wù)處理

          Db::transaction(function() {  Db::table('think_user')->find(1);  Db::table('think_user')->delete(1);});


          也可以手動(dòng)控制事務(wù),例如:

          // 啟動(dòng)事務(wù)Db::startTrans();try{Db::table('think_user')->find(1);Db::table('think_user')->delete(1);// 提交事務(wù)Db::commit();}catch (\Exception $e) {// 回滾事務(wù)Db::rollback();}


          ThinkPHP5.1


          最簡(jiǎn)單的方式是使用 transaction 方法操作數(shù)據(jù)庫(kù)事務(wù),當(dāng)閉包中的代碼發(fā)生異常會(huì)自動(dòng)回滾,例如:

          Db::transaction(function () {  Db::table('think_user')->find(1);  Db::table('think_user')->delete(1);});

          也可以手動(dòng)控制事務(wù),例如:

          // 啟動(dòng)事務(wù)Db::startTrans();try {Db::table('think_user')->find(1);Db::table('think_user')->delete(1);// 提交事務(wù)Db::commit();}catch (\Exception $e) {// 回滾事務(wù)Db::rollback();}


          注意在事務(wù)操作的時(shí)候,確保你的數(shù)據(jù)庫(kù)連接使用的是同一個(gè)。

          V5.1.13+版本開(kāi)始,可以支持MySQL的XA事務(wù)用于實(shí)現(xiàn)全局(分布式)事務(wù),你可以使用:

          Db::transactionXa(function () {  Db::connect('db1')->table('think_user')->delete(1);  Db::connect('db2')->table('think_user')->delete(1);}, [Db::connect('db1'),Db::connect('db2')]);

          要確保你的數(shù)據(jù)表引擎為InnoDB,并且開(kāi)啟XA事務(wù)支持。


          瀏覽 83
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品久久久久久久久 | 国产成人自拍在线 | 8050午夜二级 | 日本三及片网 | 亲子乱V一区二区三区免费看 |