[PHP-users 23108]Re: SQL SERVERでの排他ロックについて

小野@FJCT ono @ fjct.fujitsu.com
2004年 8月 27日 (金) 11:47:02 JST


小野と言います。

> において、DBの排他ロックがうまく行かずに困っています。

> //TABLEID(プライマリキー)の最大値取得
> $sql="SELECT * FROM TMP_TABLE ORDER BY TABLEID DESC";

# * ではなく、きちんと列名を書き、Prymaryにしておくべきかと。
ここの部分で
with (TABLOCKX , READPAST)
によりテーブルロックをしたらどうですか。

かつ、SET LOCK_TIMEOUT 500、をSQL実行の前に実行しておけば、
あとからSELECTした側にはエラーで戻ると思います。

僕はいつもそうしてます。


PHP-users メーリングリストの案内