PDO::beginTransaction

語法

bool PDO::beginTransaction ( void )

關閉自動提交模式。自動提交模式被關閉的同時,經過 PDO 對象實例對數據庫作出的更改直到調用 PDO::commit() 結束事務才被提交。php

調用 PDO::rollBack() 將回滾對數據庫作出的更改並將數據庫鏈接返回到自動提交模式。html

包括 MySQL 在內的一些數據庫,當發出一條相似 DROP TABLE 或 CREATE TABLE 這樣的 DDL 語句時,會自動進行一個隱式地事務提交。數據庫

隱式地提交將阻止你在此事務範圍內回滾任何其餘更改。架構


返回值

成功時返回 TRUE, 或者在失敗時返回 FALSE。併發


實例

回滾一個事務

下面例子在回滾此更改前開始一個事務併發出兩條修改數據庫的語句。ui

但在 MySQL 中,DROP TABLE 語句自動提交事務,使得在此事務中的任何更改都不會被回滾。spa

<?php
/* 開始一個事務,關閉自動提交 */
$dbh->beginTransaction();

/*  更改數據庫架構及數據 */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = 'hamburger'");

/*  識別出錯誤並回滾更改 */
$dbh->rollBack();

/* 數據庫鏈接如今返回到自動提交模式 */
?>

  東莞大理石量具維修htm

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息