15.笔记MySQL学习——服务器SQL模式

15.笔记MySQL学习——服务器SQL模式

MySQL服务器的SQL模式对SQL语句的执行会产生几个方面的影响。

           有几种可能的SQL模式设置值

l  STRICT_ALL_TABLES和STRICT_TRANS_TABLES 启用严格 模式。

l  TRADITIONAL 是一个组合模式

l  ANSI_QUOTES把双引号识别为一个标识符引用字符

l  PIPES_AS_CONCAT 会让服务器把 ||  当成一个标准的SQL字符串连接运算符,而不会把当成是OR运算符的同义词

l  ANSI 也是一个组合模式。同时启用ANSI_QUOTES、PIPES_AS_CONCAT和其他的几个模式值。

可以设置:

设置会话特定的SQL模式

mysql> set sql_mode='TRADITIONAL';

查看SQL模式值,如下

mysql> select @@session.sql_mode;

+-------------------------------------------------------------------------------------------------------------------------------------------+

| @@session.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.00 sec)

 

mysql> select @@global.sql_mode;

+-------------------------------------------------------------------------------------------------------------------------------------------+

| @@global.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.00 sec)

相关文章

相关标签/搜索