1. ホーム
  2. mysql

[解決済み] sql_modeの具体的な値を確認するにはどうすればよいですか?

2022-11-17 16:30:29

質問

いくつかの sql_mode の値を MySQL で使用することができます。

ANSI ,

IGNORE_SPACE ,

STRICT_TRANS_TABLES など

特定の1つの値を見るにはどうしたらよいのでしょうか。マニュアルによると

現在のモードを取得するには、SELECT @@sql_mode ステートメントを発行することにより、現在のモードを取得することができます。

しかし、それはただ何も表示されず、テーブル内の1つの空白のフィールドに @@sql_mode をカラム名とするテーブルに空白のフィールドが1つ表示されるだけです。

どのように解決するのですか?

sql_modeが設定されていないため、空白になっています。設定すれば、そのクエリで詳細が表示されます。

mysql> SELECT @@sql_mode;
+------------+
| @@sql_mode |
+------------+
|            |
+------------+
1 row in set (0.00 sec)

mysql> set sql_mode=ORACLE;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@sql_mode;
+----------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                           |
+----------------------------------------------------------------------------------------------------------------------+
| PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER |
+----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)