Blog

PDOでMysqlのトランザクション処理

2015.01.07Cat:MySQL PHP プログラマー

PDOでmysqlに接続しトランザクション処理を行っていきます。

トランザクションとは

1つの作業単位として扱われるSQLクエリの集まりです。
複数のUPDATEやINSERTをひとまとまりとして、正常に処理が行われた場合のみデータベースに反映します。
ひとつでも正常に処理が行われなかった場合は、すべての処理結果はデータベースに反映されません。

トランザクションには、ACID特性というものがあり、トランザクション処理において必要とされる4つの要素、Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性)を頭字語で表したものです。

Atomicity(原子性)

トランザクションに含まれる手順が「すべて実行されるか」「すべてされないか」のどちらかになる性質。

Consistency(一貫性)

どんな状況でもトランザクション前後でデータの整合性が矛盾なく保たれる性質。

Isolation(独立性)

トランザクション実行中は、処理途中のデータは外部から隠蔽されて他の処理に影響を与えない性質。

Durability(永続性)

トランザクションが完了したら、システムがクラッシュしてもデータが消失することがない性質。

PDOでトランザクション処理

上記関数を使い、一連の処理の流れを追っていきます。

このように簡単な記述でトランザクション処理を行うことができ、「Commit」時に一括更新されるようになります。
トランザクションを利用する場合、途中で実行されるSql,Queryのエラーチェックをしっかり行わなければなりません。
Queryがエラーになったらロールバックして、そのトランザクションの最初から再実行するような仕組みを組み込む必要があります。

Author Profile

  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ