首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在sql文件中按MySQL的版本打印查询?

如何在sql文件中按MySQL的版本打印查询?
EN

Stack Overflow用户
提问于 2021-01-07 15:51:26
回答 1查看 59关注 0票数 0

我想在.sql文件中按MySQL的版本打印查询。

当我使用MySQL 5.6版时,我想打印(2列)

代码语言:javascript
运行
复制
SELECT user, host FROM mysql.user;

或者,我使用MySQL版本5.7或8,想要打印(3列)

代码语言:javascript
运行
复制
SELECT user, host, account_locked FROM mysql.user;

因为MySQL 5.6版本没有account_locked列。

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-08 01:16:35

代码语言:javascript
运行
复制
mysql> SELECT * FROM information_schema.GLOBAL_VARIABLES WHERE variable_name = 'version';
+---------------+-----------------+
| VARIABLE_NAME | VARIABLE_VALUE  |
+---------------+-----------------+
| VERSION       | 5.6.22-71.0-log |
+---------------+-----------------+
1 row in set (0.00 sec)

mysql> SHOW VARIABLES LIKE 'version';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| version       | 5.6.22-71.0-log |
+---------------+-----------------+
1 row in set (0.00 sec)

mysql> SELECT @@version;
+-----------------+
| @@version       |
+-----------------+
| 5.6.22-71.0-log |
+-----------------+
1 row in set (0.00 sec)

在存储过程中,您可以执行如下操作

代码语言:javascript
运行
复制
IF (@@version < "5.7") THEN
    SELECT user, host FROM mysql.user;
ELSE
    SELECT user, host, account_locked FROM mysql.user;
ENDIF;

如果你还需要处理带有"10.x.y“的MariaDB,就会变得更加混乱。而且,如果Percona有任何不同之处,你需要更深入地挖掘“版本”。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65608460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档