mysql> select version(); + ------------ + | version()| + ------------ + | 5.7.32-ログ| + ------------ + セット内の1行(0.00秒) mysql> select @@ GLOBAL.sql_mode; + ------------------------------------------------- -------------------------------------------------- ---------------------------------------- + | @@ GLOBAL.sql_mode | + ------------------------------------------------- -------------------------------------------------- ---------------------------------------- + | ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION | + ---------------------------------- -------------------------------------------------- -------------------------------------------------- ----- + セット内の1行(0.00秒) ONLY_FULL_GROUP_BY GROUP BYを使用してクエリを実行するSQLの場合、GROUP BYに表示されないフィールドはSELECT部分で許可されません。 つまり、SELECTクエリのフィールドはGROUPBYに表示されるフィールドである必要があります。集計関数を使用するか、一意の属性を使用します。 STRICT_TRANS_TABLES このオプションは、トランザクションストレージエンジンには有効ですが、非トランザクションストレージエンジンには無効です。このオプションは、厳密なsqlモードが有効になっていることを示します。 非対応のフィールド値が挿入または更新された場合、厳密なSQLモードでは、INSERTまたはUPDATE文で、エラーが運転中断に直接報告されます NO_ZERO_IN_DATE 時間フィールドの値は、MySQLに挿入し、日付と月がゼロになることは許されません。 NO_ZERO_DATE のMySQL ERROR_FOR_DIVISION_BY_ZEROに挿入された時間フィールドの値をゼロにすることはできません INSERTまたはUPDATEステートメントで、データが0で除算されると、警告(非厳密なsqlモードの場合)またはエラー(厳密なsqlモードの場合)が発生します。 このオプションをオフにすると、数値が0で除算され、警告なしにNULLが取得されます。 このオプションを有効にして非厳密SQLモードで、数値を0で除算すると、NULLが取得されますが、警告が生成されます。 このオプションが有効で、厳密なsqlモードでは、数値が0で除算され、エラーが生成され、操作が中断され ます。以前のバージョンの NO_AUTO_CREATE_USERではGRANT構文が使用されています。ユーザーが存在しない場合、ユーザーは自動的に作成されます。このオプションは、この機能を制限します 。NO_ENGINE_SUBSTITUTION はCREATETABLEまたはALTER TABLE構文がストレージエンジンを実行するときに、設定されたストレージエンジンが無効になっているか、コンパイルされていない場合、エラーが発生します。
[MySQL] mysql 5.7sql_modeパラメーター分析
おすすめ
転載: blog.51cto.com/13598811/2590881
おすすめ
ランキング