この書き方は、 MySQL 5.6.5以降、もしくは、8.0系列でのみ使えます

1
2
created_at DATETIME default CURRENT_TIMESTAMP not null comment 'created_at'
updated_at DATETIME default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP not null comment 'updated_at'
  • INSERTすると、 created_atupdated_atに現在時刻が自動でセットされる
  • UPDATEすると、 updated_atのみ現在時刻が自動でセットされる

公式: MySQL :: MySQL 5.6 リファレンスマニュアル :: 11.3.5 TIMESTAMP および DATETIME の自動初期化および更新機能