首頁 >後端開發 >php教程 >關於PDO事務功能

關於PDO事務功能

autoload
autoload原創
2021-03-05 17:37:143150瀏覽

定義:PDO事務功能,並非PDO額外多出了一項功能,而是將原來MySQL所支援的事務操作進行了一定的封裝實現。注意:事務執行是否成功是由MySQL對應的儲存引擎是否支援決定的。

    1.交易功能回顧:交易是指改變預設的一次作業一次寫入資料表的機制,而是透過交易日誌記錄操作,最後透過一次操作寫入到數據表。

  • 開啟交易:start transaction,寫入操作停止直接寫入資料表,而是記錄到交易日誌

  • 事務操作:特定的寫入操作,通常多個步驟多條指示

  • ##提交事務:即事務作業結束

                    成功提交:

    commit,所有交易日誌內容同步到資料表,並清除目前交易日誌

                    失敗回復:

    rollback,直接清除目前交易日誌

  • ##rollback
,直接清除目前交易日誌


#    2.PDO類別中提供一套方案來實現事務操作

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
    3.在事務作業中,有一種回滾點機制,在PDO

中沒有實現,如果有必要,可以透過

SQL指令設定來實現

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务
//设置回滚点
$pdo->exec(&#39;savepoint sp1&#39;);

//继续执行事务...

//回滚
$pdo->exec(&#39;rollback to sp1&#39;);

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
?>
推薦:

php教學###,###php影片教學######

以上是關於PDO事務功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn