PDO::beginTransactionトランザクションを開始する 説明
public bool PDO::beginTransaction()
オートコミットモードをオフにします。オートコミットモードがオフの間、 PDO オブジェクトを通じてデータベースに加えた変更は PDO::commit をコールするまでコミットされません。 PDO::rollBack をコールすると、 データベースへの全ての変更をロールバックし、 オートコミットモードに設定された接続を返します。 MySQL を含むいくつかのデータベースでは、DROP TABLE や CREATE TABLE のようなデータベース定義言語 (DDL) ステートメントがトランザクション中に 発行される場合、暗黙的なコミットが自動的に発行されます。 この暗黙的なコミットにより、そのトランザクション境界で 他のあらゆる変更をロールバックすることができなくなるでしょう。 パラメータこの関数にはパラメータはありません。 戻り値
成功した場合に エラー / 例外トランザクションが既に開始されている場合や、ドライバがトランザクションに対応していない場合に PDOException をスローします。
例
例1 トランザクションをロールバックする 以下の例は、トランザクションを開始し、 変更をロールバックする前にデータベースを修正する 2 つのステートメントを発行します。 しかしながら MySQL では、DROP TABLE ステートメントは 自動的にトランザクションをコミットするので、 トランザクション中のどの変更もロールバックされません。
|