MySQLでNOT NULLかつデフォルト値を指定しているカラムへのNULLでのUPDATE時の挙動と厳格モードによる挙動の変化 ローカルのMySQLでは特定のカラムアップデート時にエラーが発生するが、他の環境ではエラーが発生しないということが起きました。原因が分かるまで少し手こずったので、その内容と再現方法を書き残しておきます。 エラーとその解決方法 状況 NOT NULLかつデフォルト値を設定したTINYINTカラム(カラムAとする)を含むテーブルに対して、カラムAに対応した値にNULLを設定して1行アップデートを実行。環境Aでは実行成功し、環境Bではエラーが出て実行に失敗。 環境A: Aurora MySQL 5.7.12互換 sql_mode: 0(モードの設定なし) 環境B: MySQL 5.7.30 (mysql: 5.7) sql_mode: STRICT_TRANS_TAB
![MySQLでNOT NULLかつデフォルト値を指定しているカラムへのNULLでのUPDATE時の挙動と厳格モードによる挙動の変化 | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/d17eaa1115bce8247ca619a3ac0d45d598caa186/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2016%2F08%2Fmysql.png)