V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
zebinary
V2EX  ›  MySQL

老版本的mysqldump出来的数据在新版本mysql导入时提示语法错误,应该是数据里面包含了斜杠、反斜杠和单引号之类的特殊字符,请问怎么解决?

  •  
  •   zebinary · 2013-07-13 12:25:45 +08:00 · 8767 次点击
    这是一个创建于 3932 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT。
    第 1 条附言  ·  2013-07-16 09:33:44 +08:00
    不会贴图,为毛v2ex不支持贴图呢?

    导入命令如下:
    mysql -uroot -p db_test < f://db_test.sql

    输出错误如下:
    ERROR at line 690: Unknown command '\\'

    然后690行的数据是这样的:

    INSERT INTO `phome_ecms_food` VALUES (3618,12,22,'','豆腐,干煎辣','13637,13166,13901,13768,13864,13713,13837,13828,13811,13814',3,'美滋美味','',1,0,1333843964,0,1,0,0,'','','3618',0,0,0,0,0,0,'干煎辣豆腐',1333843975,'http://www.meishi265.com/upimg/file/0abyhzbinye.jpg',0,1,1350962216,0,0,0,0,'1','',0,'',1,'煎','香辣味','初级入门','5分钟','<10分钟','2','','猪肉','美食之家','美食之家','豆腐::::::1块','鲜香菇::::::5朵\r\n胡萝卜::::::半根\r\n芹菜::::::3根\r\n色拉油::::::4大匙\r\n鸡精::::::半小匙\r\n香辣豆豉::::::2大匙','<p><img class=\\\'step\\\' alt=\\\'第1步\\\' src=\\\'/images/num/1.gif\\\' border=0 />将豆腐切成2cm大小见方的小块儿,胡萝卜去皮切丁,芹菜切小段,香菇切成小块

    ===================================
    附加说明,也尝试了use db_test 然后 source 的办法,直接命令行卡死了。
    11 条回复    2018-09-06 10:35:07 +08:00
    kchum
        1
    kchum  
       2013-07-13 12:28:19 +08:00
    列出错误信息
    darasion
        2
    darasion  
       2013-07-13 13:45:53 +08:00
    看看是不是编码问题。
    andyhu
        3
    andyhu  
       2013-07-13 16:07:26 +08:00
    怎么dump的,导出的时候别用管道符,用mysqldump -r选项试试,import的时候直接进mysql命令提示符状态,source xxx.sql;
    andyhu
        4
    andyhu  
       2013-07-13 16:07:44 +08:00
    实在不行的话用个工具,比如sqlyog
    b824379598
        5
    b824379598  
       2013-07-13 21:22:39 +08:00 via Android
    贴出错误信息
    zebinary
        6
    zebinary  
    OP
       2013-07-16 09:34:13 +08:00
    @kchum
    @darasion
    @b824379598 错误信息已经附上
    11138
        7
    11138  
       2013-07-16 10:25:02 +08:00
    linux单引号作为参数包装符,双引号内容含转义
    windows双引号作为参数包装符,单引号为可见符

    应该是这个问题造成的。
    11138
        8
    11138  
       2013-07-16 10:32:49 +08:00
    现在我不方便做测试,你可以构造一个简单的数据测试一下看看是不是这个问题,至少可以排除一下。
    kchum
        9
    kchum  
       2013-07-16 14:09:46 +08:00
    指定下字符集 登录的时候 --default-character-set=utf8
    我也发生过这种情况
    b824379598
        10
    b824379598  
       2013-07-16 18:29:10 +08:00 via Android
    数据库字段设计成这样?
    sieper
        11
    sieper  
       2018-09-06 10:35:07 +08:00
    我竟然也遇到了一样的问题 从 mysql 5.6 到 mysql 5.7。表里面有无数的\\\\\\\\\
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3099 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:23 · PVG 22:23 · LAX 07:23 · JFK 10:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.