MySQLのこんな事象に遭遇したことはありませんか? ・MySQLのint型カラムに 空文字 ” をインサートすると 0 になる。 ・MySQLのdatetime型カラムに 空文字 ” をインサートすると 0000-00-00 00:00:00 になる。 はい。おそらく低いバージョンのMySQLで、かつ sql_mode が未設定(デフォルトのまま)です。 今後MySQLのバージョンが上がった際にデフォルトの sql_mode が変わって、それにともないMySQLの挙動が変わる可能性があります。 結構危険ですので、MySQLのsql_modeの確認と設定を行いましょう。 ● MySQLのsql_modeを確認する sql_mode を確認するには次のクエリーを投げます。 SHOW VARIABLES LIKE "%sql_mode%"; また、グローバルスコープの設定を確認するにはこちら