溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PDO事務功能有哪些

發(fā)布時間:2021-03-06 10:01:46 來源:億速云 閱讀:118 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關PDO事務功能有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

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

   1.事務功能回顧:事務是指改變默認的一次操作一次寫入數(shù)據(jù)表的機制,而是通過事務日志記錄操作,在最后通過一次性操作寫入到數(shù)據(jù)表。

  • 開啟事務:start transaction,寫操作停止直接寫入數(shù)據(jù)表,而是記錄到事務日志

  • 事務操作:具體的寫操作,通常多個步驟多條指令

  • 提交事務:即事務操作結束

    成功提交:commit,所有事務日志內容同步到數(shù)據(jù)表,并清空當前事務日志

    失敗回滾:rollback,直接清空當前事務日志

   2.PDO類中提供一套方案來實現(xiàn)事務操作

<?php
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root');
$pdo->beginTransaction() or die('事務開啟失敗');//開啟事務
$pdo->exec('insert into student values()');//執(zhí)行事務

//終止事務
$pdo->commit();				//成功提交
$pdo->rollback();			//失敗回滾

 3.在事務操作中,有一種回滾點機制,在PDO中沒有實現(xiàn),如果有必要,可以通過SQL指令設置來實現(xiàn)

<?php
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root');
$pdo->beginTransaction() or die('事務開啟失敗');//開啟事務
$pdo->exec('insert into student values()');//執(zhí)行事務
//設置回滾點
$pdo->exec('savepoint sp1');

//繼續(xù)執(zhí)行事務...

//回滾
$pdo->exec('rollback to sp1');

//終止事務
$pdo->commit();				//成功提交
$pdo->rollback();			//失敗回滾
?>

感謝各位的閱讀!關于“PDO事務功能有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI