MySQL中/*!代码……*/的使用_MySQL
程序员文章站
2022-05-24 23:01:39
...
运行脚本文件时,时常看到这样的信息:
/!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 /;
/!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关键字。
推荐阅读
-
在Java代码中解析html,获取其中的值方法
-
使用jsoup解析html的table中的文本信息实例
-
Android 中利用 ksoap2 调用 WebService的示例代码
-
MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法
-
Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
-
MySQL InnoDB和MyISAM数据引擎的差别分析
-
html5中localStorage本地存储的简单使用
-
html5使用canvas实现图片下载功能的示例代码
-
HTML5中视频音频的使用详解
-
iOS 中weak的实现代码示例