You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用LOAD DATA INFILE导入CSV至MySQL显示异常,求助

解决CSV导入MySQL后字段包含换行符导致查询结果混乱的问题

问题原因

你的CSV文件每行结尾的换行符(Windows格式的\r\n对应十六进制0D、0A,Unix格式的\n对应0A)被MySQL当成了Dealer_Name字段的一部分存储。这是因为执行LOAD DATA INFILE时仅指定了字段分隔符,未明确指定行分隔符,导致MySQL无法正确识别每行的结束位置,把换行符塞进了字段里,最终查询时出现格式混乱。

解决方案

方案1:重新导入时处理换行符

修改LOAD DATA INFILE语句,明确行分隔符,同时用TRIM函数清理字段内的换行符:

LOAD DATA INFILE '/dealer_df.csv' INTO TABLE Dealers
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n' -- 若CSV是Unix风格换行,改为'\n'
IGNORE 1 ROWS
(Dealer_ID, @temp_name)
SET Dealer_Name = TRIM(BOTH '\r\n' FROM @temp_name);
  • LINES TERMINATED BY:指定CSV每行的结束标识,匹配文件实际的换行格式
  • TRIM(BOTH '\r\n' FROM @temp_name):清理临时变量中字段前后的所有换行符(兼容两种换行格式)

方案2:清理已导入的错误数据

如果已经完成导入,直接执行UPDATE语句修正现有数据:

UPDATE Dealers
SET Dealer_Name = TRIM(BOTH '\r\n' FROM Dealer_Name);

执行完成后再查询SELECT * FROM Dealers,结果就会规整显示。

内容的提问来源于stack exchange,提问作者Zach Greenleaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:11:27