MySQLコマンドやSQL文に関する各種メモ書き

mysql のTIMESTAMP型カラムのデフォルト値の設定について

mysql のTIMESTAMP型カラムのデフォルト値の設定について

古くから mysql を使ってきた方は意外と気づいてないかもしれませんが
mysql 5.6から timestam 型のカラムにはデフォルト値を明示的に指定しないといけなくなっています
(今のところ問題なく動作はしていますが。)

指定しない場合は mysql のエラーログに以下のようなエラー文が記録されているはずです

TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

このエラーをなくすには mysql の create 文で以下のように明示的に指定してあげます

create table my_table(
  id int(10) unsigned NOT NULL auto_increment,
  user_name varchar(255) NOT NULL ,
  modified_date timestamp default current_timestamp()
);

No.1115
04/03 22:34

edit