MySQL 转储文件和注释掉的行

标签 mysql phpmyadmin mysqldump

我在 MySQL .sql 文件的顶部有这些行(使用 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 会忽略它们吗?如果是这样,为什么要生成这些行?

最佳答案

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

来自 herehere :

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

关于MySQL 转储文件和注释掉的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3257115/

相关文章:

MySQL,phpMyAdmin : TIMESTAMP Always Executes NOW Function

数据库转储 | mysql 产生 'too many open files' 错误。为什么?

mysql - 为什么带有单事务的 mysqldump 比没有的更一致?

mysql - 自动将 INSERT 语句转换为 UPDATE 的简单方法?

PHP strtotime 关闭一天

mysql - 使用 WHERE 优化 JOIN

php - 在 INSERT 上触发多个表

php - 如何在mysql中散列自动增量

mysql - 如何在sql server和mysql中识别上次插入或更新的表名

MySQL 查询在较长的日期范围内会大大减慢。为什么?