小编典典

如何在 MySQL 转储中删除这些注释?

sql

我正在尝试创建一个简单的结构,仅转储我的数据库。使用mysqldump给了我一个结果:

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

DROP TABLE IF EXISTS `foo`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;

无论我尝试什么,我似乎都无法摆脱这些评论。

我目前正在使用: mysqldump -p -d --add-drop-table --skip-tz-utc --skip-set-charset -h 127.0.0.1 -u foo bar --result-file=dumpfile.sql

编辑:但是,我确实希望保留其他评论,例如– MySQL dump 10.13 Distrib 5.1.41, for Win32 (ia32)


阅读 422

收藏
2021-06-07

共1个答案

小编典典

哇!即使它们看起来那样,这些也不是真正的评论。它们是条件执行令牌。

走这条线:

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;

如果 mySQL 的版本是 4.00.14或更高,那么 MySQL 服务器将运行此语句。

这个神奇的注释语法记录在手册的注释语法部分。

你可能不想摆脱这些东西。

2021-06-07