今回は、タイトル通りで「0000-00-00 00:00:00」をinsertするとエラーとなったので解決方法を示します。
■原因1
基本的には設定で解決できます。my.cnfの中のsql_modeを編集します。
私は以下の設定にしています。
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
sql_modeの設定に
sql_mode = ‘NO_ZERO_DATE’
などのようになっているとエラーになってしまうようです。
■原因2
いくつか原因があるかと思いますが、私の環境での原因はローカルのMysqlが動いていたことです。
開発環境はdockerを使っていますが、それとは別にローカルのMysqlサーバーが動いていたことで、そちらの設定で動いていたようです。
MySQL サーバを停止します
mysql.server stop
停止してからinsertを実施したら解決しました。
設定ファイルは正しいけど、うまく動かない場合はこちらを確認してみて下さい!