can not use current_timestamp on 2 timestamp columns | mysql
create table でこれがエラーになる。
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
http://dev.mysql.com/doc/refman/5.5/en/timestamp.html
あってそうだけど、2個 timestamp型にCURRENT_TIMESTAMPを使えないらしい。
テーブル内の1つの TIMESTAMP カラムに対して、現在のタイムスタンプをデフォルト値と自動更新値として指定する事ができます。現在のタイムスタンプを、カラムを初期化するデフォルト値にする事、または自動更新のデフォルト値にする事、またはその両方にする事が可能です。現在のタイムスタンプを、1つのカラムを初期化するデフォルト値にし、別のカラムの自動更新のデフォルト値にする事は不可能です。
ということで。
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
instert into で NOW() を入れてみる。
mysql> select * from users; +---------+--------+------+----------+---------------------+---------------------+ | id | authid | mail | passhash | created_at | updated_at | +---------+--------+------+----------+---------------------+---------------------+ | 1000000 | test1 | NULL | NULL | 2011-12-14 18:59:34 | 2011-12-14 18:59:34 | +---------+--------+------+----------+---------------------+---------------------+ 1 row in set (0.00 sec)
OKでした。