MySQL道普請便り 第196回MySQLのexplicit_defaults_for_timestampオプションによって意図せずデータとテーブル定義変更をしてしまう現象について MySQLのオプションでexplicit_defaults_for_timestampというオプションをご存知でしょうか? これはTIMESTAMP型の特定の非標準動作を有効にするかどうか、およびTIMESTAMP型のカラムでNULL値の処理を有効にするかどうかを決定するオプションになります。 先日、筆者が担当しているMySQLの運用において、このオプションによってデータおよびテーブル定義が意図しない形で書き換わってしまったことがありました。今回は同じような人が現れないように、このオプションについて解説します。 なにが起こったのか mysql> SHOW CREATE TABLE ts_t1\G *******