MySQL timestampでデフォルトの値をINSERTされた時間にする
PR
MySQLでdata型の一つであるtimestamp型を使って、デフォルトの値をINSERTされてレコードが作られた時間にする。INSERT時の時間が自動的に値として入ることで、PHPやプログラム側で日時等の時間を取得せずとも行えるので手間が省ける。
MySQLでINSERT時の日時をデータに入れるように設定する
デフォルトの値で、その時の日時を挿入するには データ型に制約があります。 data型も日時を扱うフォーマットですが、こちらでは デフォルトの値に CURRENT_TIMESTAMP を使うことが出来ません。INSERT時の日時をデフォルトの値として扱うには CURRENT_TIMESTAMP の指定が必要で、これを利用するには データ型を timestamp で指定しないといけません。
ちなみにTIMESTAMPのフォーマットは次のようになります
2015-04-30 10:01:56
phpMyAdminでの作業
phpMyAdmin にログイン後、データベースを選択しテーブルの作成画面に移る
データ型で TIMESTAMP を選択、デフォルト値で CURRENT_TIMESTAMP を選択、あとは好きな名前をつければ自動的にINSERTの日時が入るカラムの完成です。
SQLクエリでの作業
新規テーブルにて作成する場合
CREATE TABLE `database_name`.`table_name` ( ・・・, ・・・, ・・・, ・・・, `post_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE = INNODB DEFAULT CHARSET = utf8;
既存のテーブルに追加する場合
ALTER TABLE `table_name` ADD COLUMN `post_time2` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
PR
COMMENT