功能描述
sql_mode用于设置服务器的 SQL 模式。SQL 模式决定了服务器如何处理 SQL 语句的某些特性和行为,例如数据类型检查、空值处理、字符串比较等。属性说明
属性 | 说明 |
参数类型 | Set |
默认值 | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,多个 modes 间用逗号 (,) 间隔。 |
取值范围 | ALLOW_INVALID_DATES:允许插入无效的日期,如 '2022-02-30'。ANSI_QUOTES:使用 ANSI 标准的引号(双引号)来引用标识符,而不是默认的反引号。ERROR_FOR_DIVISION_BY_ZERO:在执行除法操作时,如果除数为零,则抛出错误。HIGH_NOT_PRECEDENCE:使 NOT 运算符具有高优先级,与 AND 和 OR 运算符的优先级相同。IGNORE_SPACE:忽略标识符周围的空格。NO_AUTO_VALUE_ON_ZERO:在插入数据时,如果整数列的值为零,则不自动生成自增值。NO_BACKSLASH_ESCAPES:禁用反斜杠(\\)作为转义字符。NO_DIR_IN_CREATE:禁止在 CREATE TABLE 语句中使用 DIRECTORY 选项。NO_ENGINE_SUBSTITUTION:如果指定的存储引擎不可用,则抛出错误,而不是使用默认的存储引擎。NO_UNSIGNED_SUBTRACTION:禁用无符号整数的减法。NO_ZERO_DATE:禁止使用零日期('0000-00-00')。NO_ZERO_IN_DATE:禁止在日期中使用零部分,如 '2022-00-01'。ONLY_FULL_GROUP_BY:要求 GROUP BY 子句中的所有非聚合列都必须在 SELECT 子句中出现。PAD_CHAR_TO_FULL_LENGTH:在插入数据时,将 CHAR 类型列的值填充到其定义的长度。PIPES_AS_CONCAT:将管道符(||)视为字符串连接运算符,而不是逻辑或运算符。REAL_AS_FLOAT:将 REAL 数据类型视为 FLOAT 类型,而不是 DOUBLE 类型。STRICT_ALL_TABLES:启用所有严格模式选项,包括 STRICT_TRANS_TABLES。STRICT_TRANS_TABLES:在事务表中启用严格模式,要求插入、更新和删除操作遵循更严格的规则。 |
生效范围 | SESSION GLOBAL |
是否可修改 | 是 |
是否需要重启 | 否 |