MySQL 8.0.28中的sql_mode常见参数及其意

MySQL 8.0.28中的sql_mode参数如下:

1. ALLOW_INVALID_DATES - 允许插入无效日期(如'0000-00-00')。
2. ANSI_QUOTES - 激活ANSI_QUOTES模式,使双引号成为标识符引用的有效字符。 默认情况下,mysql使用单引号将字符串引起来,使用双引号将标识符引号起来。
3. ERROR_FOR_DIVISION_BY_ZERO - 除以零时抛出错误而不是警告。
4. HIGH_NOT_PRECEDENCE - 将NOT运算符视为具有高优先级。
5. IGNORE_SPACE - 忽略空格,多个关键字之间的任何空格都被视为一个空格。
6. NO_AUTO_CREATE_USER - 禁止GRANT创建新用户。
7. NO_AUTO_VALUE_ON_ZERO - 当插入的值为0时,不要将自增量列自动设置为1。
8. NO_BACKSLASH_ESCAPES - 禁用反斜杠(\)作为转义字符。
9. NO_ENGINE_SUBSTITUTION - 如果指定的存储引擎不存在,则引发错误,而不是使用默认的存储引擎。
10. NO_UNSIGNED_SUBTRACTION - 禁止将无符号数减去大于或等于零的数,否则会返回一个无符号结果。
11. ONLY_FULL_GROUP_BY - 如果SELECT语句中包含GROUP BY子句,则必须在SELECT列表中显式命名所有非聚合列。
12. PAD_CHAR_TO_FULL_LENGTH - 使用CHAR类型时,自动填充字符串值的剩余空间。
13. PIPES_AS_CONCAT - 将竖杠符号(|)视为字符串连接运算符而不是按位或运算符。
14. REAL_AS_FLOAT - 将REAL数据类型视为FLOAT数据类型。
15. STRICT_ALL_TABLES - 启用所有严格模式选项(等同于STRICT_TRANS_TABLES,STRICT_WRITE_TABLES和STRICT_PARTITION_ENGINE)。
16. STRICT_TRANS_TABLES - 在对非事务表进行更新或插入操作时强制执行与SQL标准一致的错误检查,并将警告转换为错误。
17. STRICT_WRITE_TABLES - 当对MyISAM表进行更新或插入操作时强制执行与SQL标准兼容的错误检查,并将警告转换为错误。
18. TIME_TRUNCATE_FRACTIONAL - 精度低于毫秒的时间类型(如TIME、DATETIME、TIMESTAMP)插入时,忽略时间分数部分。
19. TRADITIONAL - 完全按照SQL标准执行选项,禁用全部非标准功能。

这些参数设置可以通过修改MySQL服务器的配置文件(my.cnf)或通过运行SET语句在会话中进行更改。

你可能感兴趣的:(数据库,mysql,sql)