- ベストアンサー
MySQLで日付(date)型のdefaultの設定
DATE型のdefaultの設定は 0000-00-00 となってしまうのですが、 システム日付を設定することは 出来ないのですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
MySQL(Ver4.x)では、デフォルト値に定数しか指定できないようですので、システム日付などをデフォルト値に指定するのは無理なようです。 http://www.mysql.gr.jp/Manual/mysql-4.00.12/manual.ja_Reference.html#CREATE_TABLE ただし、TIMESTAMP型にすれば、値を自動更新することはできます。(一つのテーブルにつき一つまでですが) http://www.mysql.gr.jp/Manual/mysql-4.00.12/manual.ja_Reference.html#DATETIME 例) up_date TIMESTAMP(8) このばあい、そのフィールドの値を指定しなければ、UPDATEなどの際にも自動更新されてしまうので、ご注意下さい。
その他の回答 (1)
- rockaforte
- ベストアンサー率0% (0/3)
回答No.1
質問の意図がいまいちはっきりしませんが、 型は型なのでこれで合っていると思います。 現在の日付をセットしたいということでしたら、 update foo set birthday = NOW(); などとすると良いです。
質問者
補足
すみません。 テーブル作成時に出来ないでしょうか? 例えば create table abc( id char(5), price int default 1 udate date ); priceのようにdefaultで INSERTされた時に、特に指定がない場合 現在の日付をセットできませんか?
お礼
ありがとうございます。 最終更新日を記録したいだけでしたので、 TIMESTAMPで十分です。