From 4d01c7ded243f622aa30dfe65b197f22b6c5f600 Mon Sep 17 00:00:00 2001 From: CaitinChen Date: Thu, 29 Nov 2018 14:13:02 +0800 Subject: [PATCH 1/2] sql: add SQL mode details --- sql/mysql-compatibility.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sql/mysql-compatibility.md b/sql/mysql-compatibility.md index 3dfcd3a739be..13f8eae79843 100644 --- a/sql/mysql-compatibility.md +++ b/sql/mysql-compatibility.md @@ -167,6 +167,15 @@ Create Table: CREATE TABLE `t1` ( 从架构上讲,TiDB 确实支持类似 MySQL 的存储引擎抽象,在启动 TiDB(通常是 `tikv`)时 [`--store`](../sql/server-command-option.md#--store) 选项指定的引擎中创建用户表。 +### SQL 模式 + +TiDB 支持 MySQL 5.7 中 **绝大多数的 SQL 模式**,以下几种模式除外: + +- TiDB 暂不支持 `ALLOW_INVALID_DATES` 模式。详情参见 [TiDB #8263](https://github.com/pingcap/tidb/issues/8263)。 +- TiDB 不支持兼容模式(例如 `ORACLE` 和 `POSTGRESQL`)。MySQL 5.7 已弃用兼容模式,MySQL 8.0 已移除兼容模式。 +- TiDB 中的 `ONLY_FULL_GROUP_BY` 与 MySQL 5.7 相比有细微的 [语义差别](../sql/aggregate-group-by-functions.md#differences-from-mysql),此问题日后将予以解决。 +- `NO_DIR_IN_CREATE` 和 `NO_ENGINE_SUBSTITUTION` 这两种 SQL 模式用于解决兼容问题,但并不适用于 TiDB。 + ### EXPLAIN TiDB 的 `EXPLAIN` 命令返回的查询执行计划的输出与 MySQL 不同。更多内容参见 [理解 TiDB 执行计划](../sql/understanding-the-query-execution-plan.md)。 From 641f20df756cfa31e886d75a0758b7a00c567e6a Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Fri, 30 Nov 2018 10:45:04 +0800 Subject: [PATCH 2/2] Update sql/mysql-compatibility.md Co-Authored-By: CaitinChen <34535727+CaitinChen@users.noreply.github.com> --- sql/mysql-compatibility.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/mysql-compatibility.md b/sql/mysql-compatibility.md index 13f8eae79843..67e29ae874ee 100644 --- a/sql/mysql-compatibility.md +++ b/sql/mysql-compatibility.md @@ -173,7 +173,7 @@ TiDB 支持 MySQL 5.7 中 **绝大多数的 SQL 模式**,以下几种模式除 - TiDB 暂不支持 `ALLOW_INVALID_DATES` 模式。详情参见 [TiDB #8263](https://github.com/pingcap/tidb/issues/8263)。 - TiDB 不支持兼容模式(例如 `ORACLE` 和 `POSTGRESQL`)。MySQL 5.7 已弃用兼容模式,MySQL 8.0 已移除兼容模式。 -- TiDB 中的 `ONLY_FULL_GROUP_BY` 与 MySQL 5.7 相比有细微的 [语义差别](../sql/aggregate-group-by-functions.md#differences-from-mysql),此问题日后将予以解决。 +- TiDB 中的 `ONLY_FULL_GROUP_BY` 与 MySQL 5.7 相比有细微的 [语义差别](../sql/aggregate-group-by-functions.md#与-mysql-的区别),此问题日后将予以解决。 - `NO_DIR_IN_CREATE` 和 `NO_ENGINE_SUBSTITUTION` 这两种 SQL 模式用于解决兼容问题,但并不适用于 TiDB。 ### EXPLAIN