欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL中/*!代码……*/的使用_MySQL

程序员文章站 2022-05-16 14:27:26
...
运行脚本文件时,时常看到这样的信息:
/!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /;
/!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /;
/!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /;
/!40101 SET NAMES utf8 /;
/!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE /;

查阅资料后,得到/!代码 ……/的解释如下:

MySQL服务器包含一些其他SQL DBMS中不具备的扩展。注意,如果使用了它们,将无法把代码移植到其他SQL服务器。在某些情况下,你可以编写包含MySQL扩展的代码,但仍保持其可移植性,方法是用“/… /”注释掉这些扩展。在本例中,MySQL服务器能够解析并执行注释中的代码,就像对待其他MySQL语句一样,但其他SQL服务器将忽略这些扩展。例如:

SELECT /! STRAIGHT_JOIN / col_name FROM table1,table2 WHERE …
如果在字符“!”后添加了版本号,仅当MySQL的版本等于或高于指定的版本号时才会执行注释中的语法:

CREATE /!32302 TEMPORARY / TABLE t (a INT);
这意味着,如果你的版本号为3.23.02或更高,MySQL服务器将使用TEMPORARY关键字。

相关标签: 代码