5.1 版本和 4.0 版本关键字语法不兼容问题

【概述】

最近 TiDB 从 4.0.8 升级到 5.1.1 发现有关键字语法不兼容的问题。

【现象】

4.0.8 版本:

MySQL [test]> create table test (call varchar(10));
Query OK, 0 rows affected (1.02 sec)

5.1.1 版本:

MySQL [test]> create table test (call varchar(10));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 1 column 23 near "call varchar(10))" 

#需要在关键字的字段添加反引号才可以执行成功
MySQL [test]> create table test (`call` varchar(10));
Query OK, 0 rows affected (1.05 sec)

【问题】

官方文档查看 TiDB 关键字的相关内容( https://docs.pingcap.com/zh/tidb/v4.0/keywords#H )发现 4.0 版本和 5.1 版本都没有说明 call 这个字符是关键字。那为什么 4.0 版本可以成功执行的语句,在 5.1 版本却不行呢?

这是一个文档需求,已经提交给对应的老师,
文档老师会在相关的文档上补充下这个介绍,有进度会同步回复给你~

请问是从哪个版本开始加入 call 这个关键字的

您好,是从 5.0 版本引入的。CALL 在 MySQL 5.7 属于一个保留关键字,之前 TiDB 没有加入,但后来有用户有需求,所以在 5.0 引入了。

这里后续我们补充一下文档,抱歉!

1 个赞

好的,感谢

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。