# `SQL` モードの変更

__*SQL_MODE*__

+ `SQL` モードの値が空だったり、複数の値が含まれている場合は、クォーテーションで囲む必要があります
  + **`SET sql_mode = ''`**
+ 値に単一の名前が含まれている場合、引用符は任意です
  + **`SET sql_mode = ANSI_QUOTES`**
+ **`GLOBAL`** または **`SESSION`** が指定されていない場合、デフォルト値は **`SESSION`**s です
+ `SQL` モードの値は大文字と小文字を区別しません

------------------------------------------------------------
`SET [ SESSION | GLOBAL ] sql_mode='<modes>'` `SQL` モードを設定します。

`GLOBAL` レベルの SQL モードを設定する場合、ユーザーは `SUPER` 権限を持っている必要があり、`SQL` モードを設定した後に確立された新しい接続のみが影響を受けます (注:既存の接続には影響しません)。`SESSION` レベルの `SQL` モードの変更は、現在のクライアントにのみ影響します。

グローバル変数を設定すると、以降のすべてのクライアント接続のデフォルトの `SQL` モードが指定されます。セッション変数を設定すると、接続が切断されるまで、現在のクライアントにのみ影響します。どのクライアントも自分のセッション `sql_mode` 値をいつでも変更できます。`GLOBAL` と `SESSION` のどちらも指定されていない場合、デフォルトは `SESSION` です。

`SQL`のモード値の中には、複数のモードを有効にするコンビネーションモードがあります。このカテゴリの値には `ANSI` と `TRADITIONAL` が含まれます。