mysql中Load Data记录换行问题的解决方法
数据库  /  管理员 发布于 6年前   517
问题是这样的:
表persons有两个字段: id和name
文本文档persons.txt中内容(其中每行字段之间用tab分割):
1 Bush
2 Carter
3 Bush
在mysql命令行下使用 load data local infile “persons.txt” into table persons 导入数据到persons表中。
导入后查看persons表的数据,与persons.txt的内容一致。但是使用语句
select distinct name from persons
查询,结果中Bush出现了两次(正常结果应该是Bush只出现一次)。
原因分析:
经过分析,发现原因是windows下换行符为"\r\n",而mysql在load data时默认使用"\n"来切割每行记录,导致插入到表中前两条记录的name字段末尾多插入了不可见字符"\r";也就是说使用distinct关键字查询出来的两个Bush中,第一个词尾有回车符"\r”,而第二个词尾没有。
说明:
1. mysql默认使用tab来分割每行的字段。
2. 因为linux下换行符为"\n",所以在linux下不会出现上述问题。
修改方法:
只要在导入数据时指定以"\r\n"来换行就可以了。
修改后的导入数据语句为:
复制代码 代码如下:
load data local infile “persons.txt” into table persons
lines terminated by “\r\n”;
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号