mysql:14176
From: "yusuke ito" <"yusuke ito" <ito.ysk@xxxxxxxxxx>>
Date: Tue, 14 Aug 2007 17:53:46 +0900
Subject: [mysql 14176] Re: update 時の無条件更新の方法
伊東です。こんにちは。 > とあるテーブルに TIMESTAMP 型のフィールドがあったとします。 > > これは、NULL を指定して他のフィールドを update すれば(明 > 示的に更新をしないように指定しなければ)自動的に現在時刻に > 更新されます。 > > これは、うまく行きます。 > > ただ、「更新対象の変更が無かったら」現在時刻に更新されませ > ん。知りませんでした。マニュアルには書いてあります。 http://dev.mysql.com/doc/refman/4.1/ja/datetime.html の説明は、他のカラムが更新されない場合でも 「TIMESTAMP カラムに値 NULL が明示的に設定された場合」には 現在時刻にアップデートされるように読めます。 なので、TIMESTAMPを更新したいUPDATE文で SET (TIMESTAMP型カラム)=NOW() もしくは SET (TIMESTAMP型カラム)=NULL を追加してやるのが正解だと思います。 > 最終的には DATETIME 型を用意して now() を突っ込まなければ > ならないのかと思っているのですが、あたりが多くてやりたくな > い(^^;のです。 ここもわからんのですが、 TIMESTAMP型でもNOW()突っ込めば同じ結果だと思います。 ~~~~ あなたの文面からはそう読み取るのは難しいですが、ひょっとして 「今のSQLを変えずにDBの挙動を変えるオプションは無いですか」 って聞いてるんでしょうか? サーバ起動オプションとかに書かれていない限り、 ソースいじらないと難しいでしょうね。
14174 2007-08-14 17:04 [遠藤 俊裕 <endo@xxxx] update 時の無条件更新の方法 14175 2007-08-14 17:28 ┣["SEGAMI, Takashi" <s] -> 14176 2007-08-14 17:53 ┣["yusuke ito" <ito.ys] 14177 2007-08-14 18:06 ┗[遠藤 俊裕 <endo@xxxx]