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

MySQL LOAD DATA导入CSV指定列 解决双引号兼容与字段截断问题

问题根因

你当前的导入语句存在两个核心配置错误,才会导致内容截断、空值问题:

  1. 字段映射和CSV实际列数不匹配:你的CSV每行仅包含2列内容(第一列为手机号、第二列为消息文本),原语句写了4个字段映射规则,直接导致列解析错位,是无引号包裹的message字段插入空值的核心原因。
  2. 缺少CSV标准的引号字段识别配置:你仅指定了逗号作为字段分隔符,没有告诉MySQL识别「被双引号包裹的字段为一个完整值」的规则,因此碰到双引号内部的逗号时,MySQL会直接将其判定为字段分隔符,造成内容截断。
修正后的导入语句

直接替换原语句即可,核心新增了双引号包裹字段的解析规则,同时修正了错位的字段映射:

LOAD DATA LOCAL INFILE '/home/cs/Documents/abc.csv' 
INTO TABLE whatsappmessages 
FIELDS TERMINATED BY ',' 
  ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS  
(number, message) 
SET createdtime = NOW();
适配调整说明
  • 如果你的CSV是在Windows环境下生成的,换行符为\r\n,将语句中LINES TERMINATED BY '\n'修改为LINES TERMINATED BY '\r\n'即可正常解析换行。
  • 上述配置会自动识别被双引号包裹的长文本,不会将引号内部的逗号判定为字段分隔符,同时会自动去掉字段外层包裹的双引号,不会把引号本身写入表中。
  • 如果字段内容本身包含双引号,标准CSV规则下会用两个连续双引号做转义,该配置也可以自动兼容解析,不需要额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:54:18