MySQLでtimestamp型を使うとdefault nullができない?

   ブックマークに追加する



MySQLでtimestamp型を使ってテーブルを作成したのですが、勝手に時間が入力されて困っていました。以下テーブル定義例(ブログテーブルをイメージ)

    create table posts (
      id int unsigned auto_increment,
      user_id int unsigned not null,
      subject varchar(128) not null,
      content text,
      status enum('close', 'open') default 'close',
      created_at timestamp,
      updated_at timestamp,
      plan_at timestamp,
      primary key  (id),
      index user_id_idx (user_id),
      index status_idx (status)
    );

plan_atのところですが、ここは公開予定日にしたいな、と考えていました。default nullにして指定したときだけ時間を設定しようとしたのですが、調べてみるとどうやら無理みたい。結局はtimestamp型をdatetime型に変更し、default null設定したら思ったような動作になりました。これって基本なの?知らなかった。。。

トラックバック(0)

このブログ記事に対するトラックバックURL(トラックバックは承認後に公開されます)

コメントする

このブログ記事について

このページは、Humが2007年12月 2日 02:10に書いたブログ記事です。

ひとつ前のブログ記事は「#7 ActiveHeartでエラーメッセージを日本語化する」です。

次のブログ記事は「Rubyで1行メソッド」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

あわせて読みたいブログパーツ
フィードメーター - ウェブ-HACKS 「とりあえずやってみよう!」ブログ   
track feed
  • SEO対策 
  • _ 
  • _ 
  •  
  •  

このブログはクリエイティブ・コモンズでライセンスされています。