为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v3.0.12
- 【问题描述】:
按照官网的描述:
TiDB 也跟 MySQL 保持一致,支持一种 C 风格注释的变体:
/*! Specific code */
在这种格式中,TiDB 会执行注释中的语句,这个语法是为了让这些 SQL 在其他的数据库中被忽略,而在 TiDB 中被执行。
实际测试中:这种注释方式在mysql中也会执行。这里能做到只是tidb执行,mysql不执行么?
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
按照官网的描述:
TiDB 也跟 MySQL 保持一致,支持一种 C 风格注释的变体:
/*! Specific code */
在这种格式中,TiDB 会执行注释中的语句,这个语法是为了让这些 SQL 在其他的数据库中被忽略,而在 TiDB 中被执行。
实际测试中:这种注释方式在mysql中也会执行。这里能做到只是tidb执行,mysql不执行么?
你好,
可否提供下测试语句和效果,及其 mysql 和 tidb 的版本,这边复现下。
tidb是3.0.12,mysql是5.7.26。
语句是
/*! select version() */
我看文档描述的意思,好像就是3.0版本里,两边共用相同的注释逻辑。
/*! xxx */ 本来是 MySQL 特有的注释语法,TiDB 为了兼容 MySQL,也会解析这种语法。 https://dev.mysql.com/doc/refman/8.0/en/comments.html
如果想让 TiDB 执行,MySQL 不执行,可以使用 TiDB 特有的注释语法:/*T! select version(); */
文档描述得不够清楚,稍后我们会作出修正,感谢反馈!
/*!90000 select version(); */
能否满足需求呢?
稍等我试一下
完美!感谢
感谢测试使用。。。
越玩越高能了,现在要对不同客户的不同业务采取不同集群了,大客户tidb,小客户mysql,一套代码,要兼容两种写法
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。