MySQL 转储文件和注释掉的行

2022-01-05 00:00:00 mysql phpmyadmin mysqldump

我在 MySQL .sql 文件的顶部有这些行(用 phpMyAdmin 转储):

I have these lines at the top of a MySQL .sql file (dumped with phpMyAdmin):

/*!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 */;

但它们似乎都被注释掉了.那么当文件加载回数据库时,MySQL 会忽略它们吗?如果是这样,为什么要生成这些行?

But they all seem to be commented out. So will MySQL ignore them when the file is loaded back into a database? If so, why generate these lines at all?

推荐答案

这些是针对特定版本的 mySQL 的条件注释.

These are conditional comments aimed at certain versions of mySQL.

来自 此处 和 此处:

  • MySQL 版本特定注释以 /*!
  • 开头
  • 并以*/
  • 结尾
  • 版本号始终为 5 位数字
  • 版本号采用主要版本号的格式,次要版本号,修订号,主要为 1 位数字次要和修订版是 2 位左填充 0 的数字
  • 特定于版本的评论将针对等于或高于列出的版本号

相关文章