当前位置: 首页 > 图文教程 > 数据库 > MYSQL > mysql从执行.sql文件时处理\n换行的问题

MYSQL
SQL Server数据库对上亿表的操作
MyISAM和InnoDB的异同
带你轻松的接触用于Mysql元数据的UTF8
校对确定 较为复杂的一些特殊情况
带你轻松接触Mysql校对效果的示例
快速的掌握MySQL支持的操作系统
教你快速掌握Mysql ENUM和SET约束
MaxDB和MySQL之间的特性差异
带你轻松接触Mysql事务和原子操作
怎样在ANSI模式下运行MySQL
怎样使MySQL在攻击者面前保持安全
mysql_data_seek函数详解
如何解决MYSQL不能自动启动的问题
MySQL5.1新特性 日志的增强
一个实例讲解MySQL查询优化
MySQL_常用查询的例子
学习使用数据库MySQL
管理控制:MYSQL数据库常用命令列表
让新装上的MYSQL数据库更加安全
初学者必读 MySQL数据库常见问题汇总

MYSQL 中的 mysql从执行.sql文件时处理\n换行的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 249 ::
收藏到网摘: n/a

后来注意到,在上面我们恢复数据的时候是在没有连接数据的状态下执行的。 在备份数据库的时候,数据表中可能存在这样的值array('a'='b',
'c'='d')
这种格式的值。而在数据导出的时候 会将换行换成\n(windows下是这样,unix下可能是另一种符号)。而当在回复数据的时候,如果用mysql -h localhost -u root -proot < path/*.sql进行恢复的时候,这样数据库会报告“不能识别"\n"字符的错误提示,从而使操作终止。 想了半天,难道是在数据导出的时候有个选项可以禁止将换行转换成 “\n",看了mysqldump所有的可选项,没有找到解决的答案。 那问题就是处在导入数据的时候。
后来注意到,在上面我们恢复数据的时候是在没有连接数据的状态下执行的。那么,我们先连接数据库,即先执行mysql -h localhost -u root -proot 进入到数据库,然后在数据库连接成功的状态下 再执行mysql> source path/*.sql;语句,ok,数据导入成功。