MySQLデフォルト指定でInvalid default value

MySQL create tableDATETIME型のデフォルトを設定しようとして、
CURRENT_TIMESTAMP を指定するが、

   `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP

のようにカラムを指定した時、、、

 ERROR 1067: Invalid default value for

が発生する。定数でないとダメだと!

しかたないので、INSERT時とUPDATE時にトリガを仕掛ける。

foo テーブル に仕掛けるトリガ、

DELIMITER //
DROP TRIGGER IF EXISTS test.trigger_foo_insert
//
CREATE TRIGGER trigger_foo_insert BEFORE INSERT
ON test.foo FOR EACH ROW
BEGIN
SET NEW.created_at=NOW();
SET NEW.updated_at=NOW();
END
//
DROP TRIGGER IF EXISTS test.trigger_foo_update
//
CREATE TRIGGER trigger_foo_update BEFORE UPDATE
ON test.foo FOR EACH ROW
BEGIN
SET NEW.updated_at=NOW();
END
//
DELIMITER ;