[pgsql-jp: 33877] Re: 挿入・更新時のTimeStamp 自動挿入

OHTSUKA Ko-hei techml @ saesparam.com
2004年 8月 14日 (土) 13:08:16 JST


大塚です。

Yutaka tanida wrote:
>>MySQLでは、たとえばセッションテーブル等で挿入・更新時に
>>タイムスタンプを更新する等は、DBが勝手にやってくれるの
>>ですが、
>
> 私がMySQLで最近ものすごく驚いた機能の一つですね。この機能のおかげでMySQL
> のTimestamp型はSQLのそれ(というかMySQL以外のRDBMSのほとんど?)と互換性
> がありません。

MySQLの方がおかしいわけですね。
自分が慣れてきて意外と便利だったので、そっちをデフォルトに
捉えてしまってました。

> 1) 更新処理
> 2) トリガー発生
> 3) last_assessを更新する処理
> 4) 2)に戻る

なるほど、そりゃ止まりますね。
トリガの中では、トリガ対象のテーブルはいじってはいけないと
言う事でしょうか。
そういう時はルールを使うのかな?
いや、ルールでも同じか…。

> 一般には、insertの時は今やられているとおり、updateのときも更新時刻を設定
> するだけです。
> 
> update ... set .., last_access=now() ,.... 

あ、そうか、それだけの事ですね。
DB側の設定でなんとかしないといけない、できるはずだと自分が
MySQL脳になってしまっていました。
SQL文の方をいじる事が頭から飛んでた…。

ありがとうございました。



pgsql-jp メーリングリストの案内