3

Select FOR UPDATE の使用法と行をロックする方法を説明している投稿をたくさん見てきましたが、ロックされている行をコードが読み取ろうとしたときに何が起こるかを説明する投稿を見つけることができませんでした。

例えば。以下を使用するとします。

$con->autocommit(FALSE);
$ps = $con->prepare( "SELECT 1 FROM event WHERE row_id = 100 FOR UPDATE");
$ps->execute();
...
//do something if lock successful
...
$mysqli->commit();

この場合、ロックが成功したかどうかを確認するにはどうすればよいですか? 行が既にロックされているシナリオを処理する最善の方法は何ですか?

これがどこかに記述されている場合は申し訳ありませんが、私が見つけたように見えるのは、そこにある「ハッピーパス」の説明だけです。

4

1 に答える 1