The sky is the limit

Vue.js、PHP、Java、Cordova、Monacaを中心にハイブリッドアプリ開発、PWA開発など効率的なWEB、iOS、Androidアプリ開発の情報を共有します。

Mysqlで「0000-00-00 00:00:00」の登録が出来なかったので対処

今回は、タイトル通りで「0000-00-00 00:00:00」をinsertするとエラーとなったので解決方法を示します。

f:id:duo-taro100:20160218004611p:plain

■原因1

基本的には設定で解決できます。my.cnfの中のsql_modeを編集します。
私は以下の設定にしています。

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

sql_modeの設定に

sql_mode = ‘NO_ZERO_DATE’

などのようになっているとエラーになってしまうようです。

参考
qiita.com
econosys-system.com

■原因2

いくつか原因があるかと思いますが、私の環境での原因はローカルのMysqlが動いていたことです。
開発環境はdockerを使っていますが、それとは別にローカルのMysqlサーバーが動いていたことで、そちらの設定で動いていたようです。

MySQL サーバを停止します

mysql.server stop

停止してからinsertを実施したら解決しました。
設定ファイルは正しいけど、うまく動かない場合はこちらを確認してみて下さい!