あなたのタグは、答えが何であるかを理解していることを示唆しています-ロック。リレーショナルデータベースは(一般的に)トランザクションのACIDプロパティを実装し、データの一貫性を保証します。実際には、これらはパフォーマンス上の理由で緩和されることがありますが、ほとんどのデータベースはこの目標を達成するための何らかの方法を提供します。
MySQLでは、ロックメカニズムは基盤となるストレージエンジンに依存します。 InnoDBにはいくつかのオプションがあり、それらはドキュメントで説明されています。 。
これらのロックを実現するには、基本的にSELECT
を使用した2つの構文オプションがあります。 :
select . . . for update
select . . . lock in share mode
これらのステートメントは、明示的なトランザクションで使用する必要があることに注意してください。