プログラムの処理方法で一つのデータを複数人で更新したときのトラブル防止として、「悲観的排他制御」と「楽観的排他制御」があります。下記にその解説用の図を書いてみます。 複数人による同時更新トラブル データベースのあるデータを複数人で更新することがあります。その更新を同時に行った場合どのようなことが起こるでしょう。 例えばユーザーAがデータベース(DB)内のIDが12のデータを更新しようとします。既存のデータを取得し、ある項目を「犬」と入力しました。この時点ではDBのデータは変わっていません。 ユーザーAがデータを取得した後にユーザーBが同じIDが12のデータを取得し、同じ項目を「猫」と入力しまし、ユーザーAよりも早くDBを更新しました。DBのID:12のデータは「猫」が入っています。 ユーザーBがDBのデータを更新した後、ユーザーAがデータを更新するとDBのID:12のデータは「犬」に変わり
![悲観的排他制御と楽観的排他制御-同時更新の対処方法 | アイビースター](https://cdn-ak-scissors.b.st-hatena.com/image/square/7f54af2240c9723d348fe4b77cd7d98bdf10f1a6/height=288;version=1;width=512/http%3A%2F%2Fivystar.jp%2Fuploads%2F2014%2F11%2F141112-rakan-lock.png)