ERROR 1364 (HY000) Field dosen’t have default value のエラー

こんばんわ。
久しぶりすぎる投稿になりますが、
どうしても忘れてしまいそうだったので、
メモを記載します。

さて、今回は、Azure等で新しくサーバーを立てて、
mysqlなりMariaDBなり入れてみて、
テスト環境でできていたのに、本番に上げると
表題のような、
初期値が違うからデータは入れませんよ
というエラーでして、
よくありがちな環境が異なるときに、
やってしまいがちなことです。

これは何かというと、
mysqlのバージョンが5.6以上で発生するようで、
カラム指定しなくてもnot nullではじかれてしまうのですが、
原因としては、mysqlを入れた初期設定が変わっていたせいです。

my.cnfの初期値が
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

sql_mode=”
と設定を無効に設定し、service mysqld restartで、解決します。

Pocket