[pgsql-jp: 33876] Re: 挿入・更新時のTimeStamp 自動挿入
Yutaka tanida
tanida @ sra.co.jp
2004年 8月 14日 (土) 12:50:43 JST
谷田です。
On Sat, 14 Aug 2004 11:33:02 +0900
OHTSUKA Ko-hei <techml @ saesparam.com> wrote:
> MySQLから移行し始めて、多彩な機能に驚いているのですが、
> 一方で暴れ馬的と言うか、気難しいDBだなという感じも受けて
> います。
それは何を基準にするか、の問題ですね。
# 私自身から見ればMySQLのほうが暴れ馬っぽいし、
# Oracle使いから見ればMVCCではないDB/2やMSSQLは良くロックを起こす
# 暴れ馬だと評価したりすることも多いですね。
> MySQLでは、たとえばセッションテーブル等で挿入・更新時に
> タイムスタンプを更新する等は、DBが勝手にやってくれるの
> ですが、
私がMySQLで最近ものすごく驚いた機能の一つですね。この機能のおかげでMySQL
のTimestamp型はSQLのそれ(というかMySQL以外のRDBMSのほとんど?)と互換性
がありません。
#ありえない・・・
> ところが、上記を設定したとたん、sessionsテーブルに挿入・更新
> 動作を行うと、DBが反応しなくなってしまうようになってしまいま
> した。
1) 更新処理
2) トリガー発生
3) last_assessを更新する処理
4) 2)に戻る
> また、やりたい事は単純に更新時刻の自動挿入だけなので、それを
> 行う定石等ありましたら教えていただければ幸いです。
一般には、insertの時は今やられているとおり、updateのときも更新時刻を設定
するだけです。
update ... set .., last_access=now() ,....
--
Yutaka tanida <tanida @ sra.co.jp>
pgsql-jp メーリングリストの案内