我导出的sql文件包含下面的行;
/*!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 */;
Run Code Online (Sandbox Code Playgroud)
与CREATE TABLE不同,这些行是什么意思?INSERT INTO?
小智 6
在检查了文档https://dev.mysql.com/doc/refman/8.0/en/comments.html之后,这些特殊评论总是让我感到困惑
如果您在 ! 之后添加版本号 字符,仅当 MySQL 版本大于或等于指定版本号时才执行注释内的语法。以下注释中的 KEY_BLOCK_SIZE 关键字仅由 MySQL 5.1.10 或更高版本的服务器执行:
创建表 t1(a INT, KEY (a)) /*!50110 KEY_BLOCK_SIZE=1024 */;
这并不难理解。就 50110 而言,意味着 5(major)01(minor)10(revision) = 在 MySQL 版本 >= 5.1.10 或更高版本中运行