我怎样才能看到sql_mode的具体价值?

MySQL中有一些sql_mode值:

ANSI

IGNORE_SPACE

STRICT_TRANS_TABLES

我怎样才能看到一个特定的价值? 手册说:

您可以通过发出SELECT @@ sql_mode语句来检索当前模式。

但是它只是不显示任何内容,只是一个表中的@@sql_mode作为列名的空白字段。

这只是你的空白,因为你没有设置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模式确实是空的。