この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは。タジです。
今回は postgresqlやMySQLなどのRDBMSでのトランザクション処理についてです。
重要なデータの入ったデータベースでUPDATEやDELETEを実行し、もし間違えてしまったら。想像するだけでも恐ろしいです。
そんな時、トランザクション処理をしておけば、万が一失敗しても元の状態に戻すことができます。
トランザクション処理では、実際にSQLを発行する前にBEGIN;で処理を開始します。
その後、UPDATEやINSERT、DELETEなど実際の作業を行い、問題なく作業が終了した場合はCOMMIT;で処理を終了し、データベースに作業を反映させます。
間違ったSQL文を発行してしまったり、必要な部分を消してしまった時などはROLLBACK;でBEGIN;の時点にデータベースを復旧することができます。
データベースを触るときは是非やってみてください。
では、また次回。