この記事は、mysql に関する関連知識を提供します。主に sql_mode のさまざまなモードについて説明します。興味のある友人は以下を参照してください。すべての人に役立つことを願っています。
#sql_mode の各モードの概要
View sql_mode
mysql> SHOW VARIABLES LIKE 'sql_mode'; +---------------+--------------------------------------------+ | Variable_name | Value | +---------------+--------------------------------------------+ | 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 row in set (0.16 sec)
STRICT_TRANS_TABLES
データの挿入または更新時に、フィールドの値をターゲット データ型に変換できない場合、MySQL はエラーを報告します。このモードはトランザクション テーブルにのみ適用されます。#したがって、このモードの不一致により、同じコードが異なる環境でエラーを報告することになります。
このモードは innodb テーブル専用です
STRICT_ALL_TABLESwith STRICT_TRANS_TABLES は似ていますが、このモードは非 innodb テーブルを含むすべてのテーブルに適用されます。
ERROR_FOR_DIVISION_BY_ZERO除算器がゼロの場合、MySQL はエラーをスローします。このモードが有効になっていない場合、MySQL は NULL を返します。
NO_AUTO_CREATE_USERMySQL が GRANT ステートメントを使用して新しいユーザーを作成する場合、存在しないユーザーの作成は許可されません。このモードを有効にする場合は、最初にユーザーを手動で作成する必要があります。
NO_ENGINE_SUBSTITUTION指定されたストレージ エンジンが存在しない場合、MySQL は別のストレージ エンジンに置き換えず、エラーを報告します。
ANSI_QUOTESこのモードが有効な場合、MySQL は二重引用符を文字列の引用符ではなく識別子の引用符として扱います。
IGNORE_SPACEこのモードが有効な場合、MySQL は SQL ステートメント内のスペースを無視します。これにより、SQL ステートメントの構造を変更せずに SQL ステートメントを美しくすることができます。
ONLY_FULL_GROUP_BYこのモードが有効な場合、すべての非集計カラムを GROUP BY ステートメントに含める必要があります。そうでない場合、MySQL はエラーを報告します。
NO_ZERO_IN_DATEこのモードが有効な場合、MySQL は日付または時刻にゼロ値を許可しません。
NO_ZERO_DATEこのモードが有効な場合、MySQL では「0000-00-00」の日付の使用が許可されません。
推奨学習: 「
MySQL ビデオ チュートリアル以上がsql_mode のさまざまなモードについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。