我在 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 的条件注释。
- MySQL 版本特定注释以
/*!
开头
- 并以
*/
结尾
- 版本号始终为 5 位数字
- 版本号采用主要版本号格式, 次要版本号,修订号,主要为 1 位数 次要版本和修订版本是 2 位数字,左填充 0
- 版本特定的评论将针对等于或高于的任何版本 列出的版本号
关于MySQL 转储文件和注释掉的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3257115/