プロセスによって時々更新されるデータベーステーブルがあります。ただし、場合によっては、特定の行にオーバーライドを適用したいことがあります。オーバーライドなどを処理するために多くのコードを書かずに、データベース自体の行またはフィールドをロックする方法はありますか?
たとえば、私のテーブルは次のようになります
STUDENT | TEST_SCORE_AVG | HOMEWORK_AVG
John | 92.3 | 88.8
Lisa | 77.4 | 99.8
Terry | 88.0 | 64.5
新しいテストや宿題が出るたびに、学生の平均値は変化します。しかし、その先生がジョンの母親で、何があっても宿題の平均点が 100.0 だとします。値を変更しようとするプログラムが跳ね返るように、それをロックする方法はありますか? MySQL ワークベンチを使用して MySQL データベース (InnoDB) にアクセスしています
アップデート:
行全体をロックする関数を使用することもできます。つまり、変更も変更TEST_SCORE_AVG
もHOMEWORK_AVG
できません。接続が失われたかどうかに関係なく、ソリューションが長期間持続する必要があります。ロックを解除するまで行をロックしたい