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