加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL教程mysql中Load Data记录换行问题的解决方法

发布时间:2020-12-12 02:50:45 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程mysql中Load Data记录换行问题的解决方法》要点: 本文介绍了MYSQL教程mysql中Load Data记录换行问题的解决方法,希望对您有用。如果有疑问,可以联系我们。 MYSQL教程 问题是这样的: 表persons有两个字段: id和name 文本文档persons.txt中内容(

《MYSQL教程mysql中Load Data记录换行问题的解决方法》要点:
本文介绍了MYSQL教程mysql中Load Data记录换行问题的解决方法,希望对您有用。如果有疑问,可以联系我们。

MYSQL教程问题是这样的:

表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只出现一次).

MYSQL教程原因分析:

经过分析,发现原因是windows下换行符为"rn",而mysql在load data时默认使用"n"来切割每行记录,导致插入到表中前两条记录的name字段末尾多插入了不可见字符"r";也便是说使用distinct关键字查询出来的两个Bush中,第一个词尾有回车符"r”,而第二个词尾没有.
说明:
1. mysql默认使用tab来分割每行的字段.
2. 因为linux下换行符为"n",所以在linux下不会出现上述问题.

MYSQL教程修改办法:
只要在导入数据时指定以"rn"来换行就可以了.
修改后的导入数据语句为:

代码以下:
load data local infile “persons.txt” into table persons
lines terminated by “rn”;

《MYSQL教程mysql中Load Data记录换行问题的解决方法》是否对您有启发,欢迎查看更多与《MYSQL教程mysql中Load Data记录换行问题的解决方法》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读