Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change description of ONLY_FULL_GROUP_BY (#15416) #15843

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions sql-mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ Modes 是用逗号 (',') 间隔开的一系列不同的模式。使用 `SELECT @

* `ANSI`:符合标准 SQL,对数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,且返回 warning 警告。
* `STRICT_TRANS_TABLES`:严格模式,对数据进行严格校验,当数据出现错误时,无法被插入到表中,并且返回错误。
* `TRADITIONAL`:采用此模式使 TiDB 的行为像“传统”SQL 数据库系统,当在列中插入不正确的值时“给出错误而不是警告”,一旦发现错误立即放弃 `INSERT` 或 `UPDATE`。
* `TRADITIONAL`:采用此模式使 TiDB 的行为像“传统” SQL 数据库系统,当在列中插入不正确的值时“给出错误而不是警告”,一旦发现错误立即放弃 `INSERT` 或 `UPDATE`。

## SQL mode 列表,如下

| 名称 | 含义 |
| --- | --- |
| PIPES_AS_CONCAT | 将 "\|\|" 视为字符串连接操作符(+)(同CONCAT()),而不视为OR(支持) |
| PIPES_AS_CONCAT | 将 "\|\|" 视为字符串连接操作符 (+)(同 CONCAT()),而不视为 OR(支持|
| ANSI_QUOTES | 将 `"` 视为识别符,如果启用 ANSI_QUOTES,只单引号内的会被认为是 String Literals,双引号被解释为识别符,因此不能用双引号来引用字符串(支持)|
| IGNORE_SPACE | 若开启该模式,系统忽略空格。例如:“user” 和 “user “ 是相同的(支持)|
| ONLY_FULL_GROUP_BY | 如果 GROUP BY 出现的列并没有在 SELECTHAVINGORDER BY 中出现,此 SQL 不合法,因为不在 GROUP BY 中的列被查询展示出来不符合正常现象(支持) |
| NO_UNSIGNED_SUBTRACTION | 在减运算中,如果某个操作数没有符号,不要将结果标记为UNSIGNED(支持)|
| ONLY_FULL_GROUP_BY | 如果未被聚合函数处理或未被 GROUP BY 的列出现在 SELECTHAVINGORDER BY ,此 SQL 不合法,因为这种列被查询展示出来不合常规(支持|
| NO_UNSIGNED_SUBTRACTION | 在减运算中,如果某个操作数没有符号,不要将结果标记为 UNSIGNED(支持)|
| NO_DIR_IN_CREATE | 创建表时,忽视所有 INDEX DIRECTORY 和 DATA DIRECTORY 指令,该选项仅对从复制服务器有用 (仅语法支持)|
| NO_KEY_OPTIONS | 使用 SHOW CREATE TABLE 时不会输出 MySQL 特有的语法部分,如 ENGINE,使用 mysqldump 跨 DB 种类迁移的时需要考虑此选项(仅语法支持)|
| NO_FIELD_OPTIONS | 使用 SHOW CREATE TABLE 时不会输出 MySQL 特有的语法部分,如 ENGINE,使用 mysqldump 跨 DB 种类迁移的时需要考虑此选项(仅语法支持)|
Expand Down