回答

收藏

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

技术问答 技术问答 239 人阅读 | 0 人回复 | 2023-09-12

我试图创建一个简单的结构,只转移到我的数据库中。mysqldump给我一个结果:9 @2 Y# `5 n8 E1 K9 B  p7 B4 i
/*!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 */;不管我尝试什么,我似乎都无法摆脱这些评论。6 t3 c0 n4 i' d* N# D! S$ h
目前正在用: mysqldump -p -d --add-drop-table --skip-tz-utc --skip-set-charset -h 127.0.0.1 -u foo bar --result-file=dumpfile.sql( M* o; I8 w+ I5 h. k) y. S
编辑:但我确实想保留其他评论,比如– MySQL dump 10.13  Distrib 5.1.41,for Win32 (ia32)
% c' `: ?% o' ]+ l8 C* @                                                                " D8 B. @/ |9 ]! Y1 P4 p
    解决方案:                                                               
$ o( a8 {. V4 ?3 D" D4 w3 e$ j                                                                哇!即使他们看起来像这样,这些也不是真正的评论。它们是执行令牌的条件。
' V: B3 Y" S! o, ?走这条线:
. Y. E  y3 T; a7 a; Z' u/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0 */;  Z; P- j$ H: l% u
如果 mySQL 版是 4.00.14或更高,那么 MySQL 服务器将运行此语句。
+ P- f! \9 z% M8 C( f/ ~手册注释语法部分记录了这种神奇的注释语法。/ \4 P% h$ ~8 G
你可能不想摆脱这些东西。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则