1

MySQL で InnoDB を使用しており、PDO を使用して PHP からテーブルにアクセスしています。

テーブルをロックし、選択を行い、その結果に応じて、行を挿入するかどうかを決定する必要があります。できるだけ短時間テーブルをロックしたいので、このようにできますか?

prepare select
prepare insert
begin transaction
lock table
execute select
if reservation time is available then execute insert
unlock table
commit

それとも、準備はトランザクション内にある必要がありますか? それとも、ロックの後にある必要がありますか?

トランザクションにはインサートのみを含める必要がありますか?それとも違いがありますか?

4

1 に答える 1