[PHP-users 29536] Re: ADOdbでのデータベースの更新時にロックを明記する必要があるかどうかについて

神田 良一 forest_gegege @ yahoo.co.jp
2006年 6月 30日 (金) 11:25:53 JST


こんにちは、神田と申します。

> するような場合、ロックは明記しなければならないのでしょうか?
> あるいは、ADOdb側で処理をしているので、コーディングする必要はないのでしょう
> か?
日本語マニュアルを見ると

RowLock($table,$where)

という命令があるようです。
「トランザクションのあいだテーブルの行をロックします。たとえば次のように、
table1の$idのレコードをロックします。」

との事です
下記が記載されいてたサンプルです。

$DB->StartTrans();
$DB->RowLock("table1","rowid=$id");
$DB->Execute($sql1);
$DB->Execute($sql2);
$DB->CompleteTrans();

ということですからこの命令なりExecuteなりでlockは自分でかける必要がある
みたいですね。
adodbってただのDBラッパーですから、特定の目的を持った命令等で明示されてない限り
自動で何かをやるということはあまり無いんじゃないでしょうか。

神田
--------------------------------------
Let's start Yahoo! Auction  -  Free Campaign Now!
http://pr.mail.yahoo.co.jp/auction/


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