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

MySQL使用LOAD DATA INFILE导入CSV时'\n'作为行终止符不生效问题

问题原因

最常见的诱因是MySQL开启了NO_BACKSLASH_ESCAPES SQL模式,这种模式下反斜杠不会被识别为转义字符,你写的'\n'会被解析为「反斜杠+字母n」的两个普通字符,而不是换行符,因此无法匹配文件里的行尾标识。
除此之外,不同操作系统的客户端和服务端交互时,也可能出现转义符解析偏差,导致\n无法被正确识别为换行符。

解决方法

直接使用换行符的十六进制编码代替转义写法,规避转义解析问题,修改后的导入语句如下:

LOAD DATA LOCAL INFILE '/home/vsafonov/testDir/test.csv' 
INTO TABLE express.objs 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' 
LINES TERMINATED BY 0x0A
IGNORE 1 LINES;

如果执行后仍然有问题,可以先运行以下语句临时关闭反斜杠转义禁用规则,再执行导入:

SET sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');

内容的提问来源于stack exchange,提问作者Vladimir Safonov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:45:02