功能描述
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 |
是否可修改 | 是 |
是否需要重启 | 否 |