開発では動いていたのに本番ではint型のカラムで空白が入らない!みたいなエラーが出て、データベースにデータが入らないことが発覚し、調査をすることに・・・
sql_modeが原因でした・・・
sql_modeとは
プログラミングで言う所のuse strict(例えばperl)みたいなもんでしょうか。
データの型の不正であったり、日付の処理であったりを細かくチェックできます。
細かいものは辞書的な内容なので、リンクを。
ちなみに実務では後述するように全部外して、設定してました。
/etc/my.cnfを設定して、
1 |
sql_mode="" |
と設定し、再起動すれば全て解除されます。
参考リンク