您好我正面临一个问题,不推荐使用Post mysql 5.7 information_schema.GLOBAL_STATUS
而不是他们正在使用performance_schema.global_status
。
所以我想知道根据MySQL版本如何查询特定的表。
我知道Select @@version
给了我mysql的版本。
SELECT * FROM performance_schema.global_status
WHERE VARIABLE_VALUE REGEXP '^-?[0-9]+$'.
提前致谢。
答案 0 :(得分:0)
假设您在此答案的上下文中从MySQL shell(例如,PHP)外部查询数据库。为什么不尝试在条件注释中添加更高版本的版本号(注意我没有时间尝试这个)?详细here和here。
这意味着第一个查询看起来像这样,但只返回4.1.22之后MySQL版本的结果:
/*!40122 SELECT col FROM mytable;*/
如果有结果,那么这些可以在您的程序中按计划使用,如果没有,那么您可以使用if
执行早期版本语法,如下所示:
SELECT differentSyntaxCol FROM mytable;
请注意,如果使用多个版本,这可以适用于级联许多版本的MySQL,但由于没有“版本低于X”的语法,您需要从最新版本开始并逐步减少。
此致
詹姆斯