-
ID:MuAoYs さんの質問

DBのトランザクション処理って必要なのは分かるけど、実際問題ロールバックする時ってあんの?どんな時にロールバック起きるわけ?

みんなの回答 2 件

ID:JA1rAp さんの回答

一意制約違反とか、NotNull制約違反とか、外部キー制約違反とか色々あるだろ。
とはいえ、ロールバックが発生する=プログラムのバグであるケースが大半だから、原則としてロールバックが発生しないように組むよね。
ロールバックはそれでも紛れ込んだバグがデータに悪影響を与えないようにするための最終防護壁みたいなもんだね。

ID:MuAoYs

だよね、だよね。バリデーション通らない時って感じだよね? あとは運悪く処理中に停電起きた時とかなの?

ID:JA1rAp

処理中に停電が起きてDBが動いてるサーバが停止した、という状況ならそもそもサーバが動いてないので、ロールバックすら走らないねぇ...
まぁ、サーバ再起動時に自動的にロールバックされるから、間違ってもいないか。
.
ざっくり言えば、「バリデーション通らない場合」という認識でおk

ID:MuAoYs

あ、そっか笑

その認識でオッケーなのね!ありがとう!勉強になりまちた♪

ID:WSf3C8 さんの回答

DBも結局はテキストファイルなので、壊れる事がある。

ID:VPtL9u

自分が扱ったことがあるDBのデータファイルは全てバイナリデータだったけど、どのDBがテキストファイルにデータを保存してるか教えてくれる?

ID:WSf3C8

バイナリデータもテキストファイルの一種という意味で言ってるんだけど。
音声や画像も含めて。

最終更新日:2016-02-06 (1,255 views)

関連するトピックス

ページ上部に戻る