[PHP-users 5612] Re: データベース操作中の問題点
Seto
php-users@php.gr.jp
Thu, 21 Feb 2002 16:20:53 +0900
Setoです。
>1.通し番号の取得
> 只今自分が Insert したレコードの通し番号を取得するには
> どんな方法が一番良いですか。
ご自分ではどのようにお考えでしょうか?
pg_getlastoid してから その oid にて Selectという手もあります。
しかし oidを使用したアクセス方法は避けるべきとの記述をどこかで
見た記憶もあります。(どなたかフォローお願いいたします。)
>2.トランザクション
> トランザクションの処理は以下のステップで十分ですか。
> pg_exec($dbconnect,"BEGIN");
> pg_exec($dbconnect,"Insert into ....");
> pg_exec($dbconnect,"Update ...")
> ...
> pg_exec($dbconnect,"COMIT");
この辺はデータの性質、処理の重要性によってではないでしょうか?
3のエラー処理にも関係しますが commitだけでなくrollbackの
必要性は検討されていますか?
>
>3.エラー処理
> テーブルへの更新操作(Insert、Update、Deleteなど)が
> 成功したか、失敗したか判断する時はどんな方法が一番
> 良いですか。
pg_execの戻り値はチェックされているのでしょうか?
pg_errormessageという関数も参照して見てください。
>ほかにも注意点があればぜひ教えてください。
これもご自分がやりたいことによると思います。
さまざまな用件のバランスを取らなくてはならないと思います。
***************************************
Junya Seto
http://www.cii.gr.jp/~seto/mkWeb.html
***************************************