MySQL5.5ではdatetime型のデフォルト値にCURRENT_TIMESTAMPを設定できない

2017年11月24日

ローカルの環境がMySQL5.6で本番サーバーがMySQL5.5だったので、以下のSQLがエラーになってびっくりしましたという話です。

ALTER TABLE `table1` ADD `field1` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP

#1067 - Invalid default value for 'field1'

MySQL5.5ではdatetime型のデフォルト値にCURRENT_TIMESTAMPを設定できないみたいです。

  1. can't I use Current_timestamp as default value in mysql 5.5.47-cll - Database Administrators Stack Exchange