今まで動いていたアプリケーションがサーバー移行後に動かなくなった。
データベース側でdatetimeに対して空白を挿入する際にエラーが出ている模様。
対処方法
sql_modeの設定が異なる事が原因でした。
sql_modeのSTRICT_TRANS_TABLESをはずせば、SQLが通ります。
古いサーバ
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)
新しいサーバ
mysql> SELECT @@GLOBAL.sql_mode;
+--------------------------------------------+
| @@GLOBAL.sql_mode |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
my.cnfを修正します。
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
↓
sql_mode=''
以上