我如何在我的IF正在测试服务器版本号的MySQL中编写IF
... THEN
... ELSE
?指出文档的正确部分的指针是值得赞赏的。更多细节非常感谢。
更新
对无意中模糊的问题道歉。
我保留了一个sql脚本,可以在我在机器上部署内容时轻松创建数据库和用户(对我而言)。不同的服务器运行不同版本的软件,我希望使脚本可靠并且版本感知。
答案 0 :(得分:1)
很难回答这个问题,因为您还没有描述过您尝试做的事情,但是您可能想知道MySQL SQL注释语法的一个简洁功能,以便制作部分内容。查询版本相关。
请参阅http://dev.mysql.com/doc/refman/5.7/en/comments.html
如果在“!”字符后添加版本号,则在其中添加语法 仅当MySQL版本大于或时,才会执行注释 等于指定的版本号。中的TEMPORARY关键字 以下注释仅由MySQL 3.23.02或更高版本的服务器执行 更高:
CREATE / *!32302 TEMPORARY * / TABLE t(INT);
答案 1 :(得分:0)
您需要使用version全局变量。
mysql> select @@VERSION;
+-----------------+
| @@VERSION |
+-----------------+
| 5.6.26-74.0-log |
+-----------------+
1 row in set (0.00 sec)
答案 2 :(得分:0)
Ej :(市长版本号,来自'5.6.26-74.0-log'
摘录'5'
)
SELECT SUBSTRING( @@VERSION , 1 , LOCATE( '.' , @@VERSION ) )