问题:
在使用【 load data infile 'D:/node.txt' into table node fields terminated by '\t'; 】语句批量导入如下图所示的aaa.txt中的数据到tb.table表中后,最后一个字段中默认包含了换行符或回车符。
导入数据后,node表内容如下所示:
从直观上看不出导入后的数据有什么问题,但如果执行查询语句【 select * from node where nodeY='7040'; 】却查询不出内容。
原因是从txt、excel或csv文件导入数据到MySQL后,最后一个字段中的内容包含了换行符,因此查询不出所对应的内容。
解决方法:
执行SQL语句:【 UPDATE tad.node SET nodeY = REPLACE(REPLACE(nodeY, CHAR(10), ''), CHAR(13), ''); 】利用replace()函数将换行符【char(10)】和回车符【char(13)】替换为空串,再次查询后可以得到正确结果。