PDO :: ROLLBACK
PDO :: ROLLBACK - トランザクションをロールバックする(PHP 5> = 5.1.0、PECLのpdo> = 0.1.0)
説明
文法
bool PDO::rollBack ( void )
開始PDO ::のbeginTransaction()によって現在のトランザクションをロールバックします。 トランザクションがアクティブでない場合は、例外PDOExceptionをスローしてます。
データベースが自動コミットモードに設定されている場合は、トランザクションが自動コミットモードをロールバックされた後、この関数(メソッド)が復元されます。
DLLステートメントなどのMySQL、同様のトランザクションがデータテーブルを削除するか、または作成するために、を含むいくつかのデータベースでは、それが自動的にコミット暗黙的につながります。 暗黙的にこのトランザクションの範囲内の任意の変更をロールバックすることはできません提出しました。
戻り値
TRUE、失敗した場合に正常に戻っはFALSEを返します。
例
トランザクションをロールバック
次の例では、トランザクションの開始前に、変更をロールバックし、データベースを修正する2つのステートメントを発行します。 しかし、MySQLでは、DROP TABLEステートメントは自動的にトランザクションをコミットするので、このトランザクション内のすべての変更はロールバックされません。
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构和数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = 'hamburger'"); /* 识别错误且回滚更改 */ $dbh->rollBack(); /* 此时数据库连接恢复到自动提交模式 */ ?>