Как я могу увидеть конкретное значение режима sql?


есть немного sql_mode значения в MySQL:

ANSI,

IGNORE_SPACE,

STRICT_TRANS_TABLES, etc

как я могу увидеть одно конкретное значение? В инструкции сказано:

вы можете получить текущий режим, выдав SELECT @@sql_mode заявление.

но он просто ничего не показывает, просто пустые поля в таблице с @@sql_mode как имя столбца.

2 52

2 ответа:

Это только пустое для вас, потому что вы не установили 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)

вы также можете попробовать это, чтобы определить ток глобальныеsql_mode значение:

SELECT @@GLOBAL.sql_mode;

или сессииsql_mode значение:

SELECT @@SESSION.sql_mode;

у меня тоже было ощущение, что режим SQL была пуста.