※全てMariaDB公式サイトのリポジトリを利用してyumにてMariaDBのインストール後にmysql_secure_installationを実行しただけの状態で確認しました。5.5系SQL_MODEの初期設定値は「無し」です。5.5.63での調査結果です。10.0系SQL_MODEの初期設定値は「無し」です。10.0.38での調査結果です。10.1系SQL_MODEの初期設定値は以下の2つです。10.1.37での調査結果です。10.2系SQL_MODEの初期設定値は以下の4つです。10.2.21での調査結果です。10.3系SQL_MODEの初期設定値は以下の4つです。10.3.12での調査結果です。10.4系(beta)SQL_MODEの初期設定値は以下の4つです。※現在10.4系はbetaなので、今後変更される可能性があります。10.4.2での調査結果です。STRICT_TRANS_TABLESERROR_FOR_DIVISION_BY_ZERONO_AUTO_CREATE_USERNO_ENGINE_SUBSTITUTION不具合が起きる可能性のあるケースSQL_MODEのデフォルト値変更に伴い、アップグレード後に不具合が起こる可能性があるケースは以下の2つです。10.2.4以上からデフォルトになった「STRICT_TRANS_TABLES」は、SQL文を厳密にしておかないとINSERT時にエラーが起きやすいので注意しましょう。SQL_MODEの説明デフォルトになっている4つのSQL_MODEの説明です。※より詳しい説明はMariaDB公式サイトで閲覧可能です。無効または欠落データを含むステートメントは、無効または欠落データが最初の行ではない複数の行に影響を与える非トランザクションストレージエンジンおよびステートメントの場合を除いて、中止およびロールバックされます。値が欠落している場合は、列のデフォルト値を挿入してください。10.2.4以降のデフォルトです。【ERROR_FOR_DIVISION_BY_ZERO】このモードが設定されていない場合、ゼロ除算はNULLを返します。このモードを設定すると警告を返します。MDEV-8319も参照のこと。10.2.4以降のデフォルトです。【NO_AUTO_CREATE_USER】GRANTで自動的にユーザーを作成すると1133エラーを生成します。エラー内容:”ユーザーテーブルに一致する行が見つかりません”。10.1.7以降のデフォルトです。TABLEで指定された利用可能なストレージエンジンが利用できない場合には警告が表示され、代わりにデフォルトのストレージエンジンが使用されます。このモードを設定すると、指定したストレージエンジンが利用できない場合にテーブルを作成するときに1286エラーが発生します。enforce_storage_engineも参照してください。10.1.7以降のデフォルトです。昔作ったWebサイトなどでSQLを全部見直すのが大変でSQL_MODEを緩くしたい場合や、他のSQL_MODEを追加したい場合の方法です。編集し、[mariadb]の行の下にsql_modeの設定を書き込みます。※MySQLの場合は[mysqld]の下に追加してください。後に設定したいSQL_MODEを記載します。後に設定したいSQL_MODEをカンマ区切りで記載します。here[mariadb]sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER...省略...編集が終わったらMariaDBを再起動します。mariadbこれでGLOBALのSQL_MODEが変更されました。生成される各セッションもこのGLOBAL設定が引き継がれます。SESSIONにて設定します。sec)■SQL_MODEを設定する場合(複数の場合はカンマで区切ります。sec)※セッション(session)単体でSQL_MODEを設定した場合はセッションが切れると設定が無効になるため、接続するたびに再度設定が必要になります。'設定するモード一覧'」を設定すればOKです。書式は各言語のライブラリによって若干変わるので詳細は各言語のライブラリのヘルプでお調べください。'STRICT_TRANS_TABLES'");まとめMariaDBやMySQLなどをバージョンアップしたらSQLの処理でエラーが発生したらSQL_MODEのデフォルト値をチェックしましょう。今後もバージョンが上がった際にSQL_MODEのGLOBALデフォルト値が変更になる可能性があるため、出来るだけアプリケーション側でSQL_MODEを設定しておくのがベストです。/scannowでWindowsを修復する2019.02.122019.12.20Windows10のロック画面の背景画像が変わらないエラーの対策2019.01.072019.02.08PCの調子が悪いときのチェックリストと対策方法2019.02.14スマホ(iPhone,Android)でWebページのHTMLソースを見る方法2019.08.12SSH接続がタイムアウトで自動的に切断されないようにする2019.01.24デスクトップ版iTunesのダウンロード方法2019.01.16VirtualBoxでホスト⇔ゲスト間でコピペができるようにする。「論理ブロックアドレスでIO操作が再試行されました。/scannowでWindowsを修復する2019.02.122019.12.20Windows10のロック画面の背景画像が変わらないエラーの対策2019.01.072019.02.08PCの調子が悪いときのチェックリストと対策方法2019.02.14スマホ(iPhone,Android)でWebページのHTMLソースを見る方法2019.08.12SSH接続がタイムアウトで自動的に切断されないようにする2019.01.24デスクトップ版iTunesのダウンロード方法2019.01.16VirtualBoxでホスト⇔ゲスト間でコピペができるようにする。「論理ブロックアドレスでIO操作が再試行されました。不具合が起きる可能性のあるケースSQL_MODEの説明SQL_MODEを変更する方法GLOBALのSQL_MODEを変更する場合セッション(session)単体でSQL_MODEを変更したい場合まとめ。