MySQL 服务器的 SQL 模式
-- 查询本次会话的 SQL 模式
SELECT @@SESSION.SQL_MODE;
-- 查询全局 SQL_MODE
SELECT @@global.SQL_MODE;
-- 设置本次会话专用的 SQL 模式
SET sql_mode = 'TRADITIONAL';
-- 对 SQL 模式作全局性设置
SET GLOBAL SQL_MODE = 'TRADITIONAL';
MySQL 服务器有一个名为 sql_mode 的系统变量可以让你调控其 SQL 模式,SQL 模式对 SQL 语句的执行情况有多方面的影响。
SQL 模式:
* STRICT_ALL_TABLES 和 STRICT_TRANS_TABLES 将启用严格模式。(拒绝“坏”数据值,而不是把它们转换为最接近的有效值)
* TRADITIONAL 是一个组合模式。它类似于严格模式,但启用了其他几种引入额外限制条件的模式以进行更加严格的数据检查。在处理“坏”数据值时,更接近于传统的 SQL 服务器。
* ANST_QUOTES 告诉 MySQL 服务器把双引号识别为一个标识符引用字符。
* PIPES_AS_CONCAT 将导致 “||” 字符串被视为一个标准的 SQL 字符串合并操作符,而不是 “OR” 操作符的一个同义词。
* ANSI 是一个组合模式。它将同时启用 ANSI_QUOTES、PIPES_AS_CONCAT 和另外几种模式值,其结果是让 MySQL 服务器的行为比它的默认运行状态更接近于标准的 SQL。
本文介绍了MySQL服务器中的SQL模式,包括如何查询当前会话和全局的SQL模式,以及如何设置SQL模式。文中详细解释了几种重要的SQL模式,如STRICT_ALL_TABLES、TRADITIONAL、ANSI_QUOTES等,并说明了这些模式如何影响SQL语句的执行。
2178

被折叠的 条评论
为什么被折叠?



