我的mysql是5.6的 
现在碰到一个问题
我的数据库里有张表 其中一个字段存的是blob型  存的是XML格式的代码
我用mysqldump导出为一个test.sql
但是用mysql还原时 提示语法错误 
如果我不在含有mysql.exe的路径操作时 就不会报错 比方说我的mysql.exe路径是
E:/MySQL Server 5.6/bin
在命令行下 我进到这个目录 用mysql命令导入我之前导出的test.sql就报错 
但是我不在这个目录下就不报错 
我之前是设置了环境变量  在哪个目录下用mysql命令都行 但现在的情况是唯独这张表不可以 
用navicat 之类的工具是一点儿问题没有 所以现在比较纠结 
我的应用程序是要调用外部程序 所以mysql.exe和musqldump.exe我必须放在我程序的目录下 
客户是不可能装mysql数据库的 
求救 这到底是怎么一回事  

解决方案 »

  1.   

    你可以在程序名前加个路径名。D:\xx\mysql\mysql-5.1.58-win32\bin\mysql
      

  2.   

    报语法错误 或者 报认不出 '\0'   \0是表里XML数据中的
    白天上班不能上网 等明天记下来 
      

  3.   

    嗯 我试试 
    我今天把环境变量去掉了 
    然后 到mysql安装路径的bin里 和 我程序路径里(有单独的musql.exe)
    两个分别试了 报的是 语法错误 等我明天把错误详细信息抄下来 另外 我找了个没有安装mysql数据库的机器  发给这个机器musql.exe和一个备份好的test.sql表 
    试了一下 结果这个机器 没报语法错误 报的是 没有认出'\0' 什么的 我明天也记一下   
      

  4.   

    嗯 我试试 
    我今天把环境变量去掉了 
    然后 到mysql安装路径的bin里 和 我程序路径里(有单独的musql.exe)
    两个分别试了 报的是 语法错误 等我明天把错误详细信息抄下来 另外 我找了个没有安装mysql数据库的机器  发给这个机器musql.exe和一个备份好的test.sql表 
    试了一下 结果这个机器 没报语法错误 报的是 没有认出'\0' 什么的 我明天也记一下   
    补充一下 用这个没有mysql数据库的机器 将test.sql表导入我的工作电脑中 命令加了个-h+IP 
    都在一个局域网内