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

MySQL LOAD DATA LOCAL INFILE遇字段含逗号导入失败求助

解决MySQL导入Nessus CSV时字段含逗号的拆分问题

你遇到的问题是典型的带引号CSV导入场景——默认的逗号分隔配置会把字段内部的逗号误判成分隔符,导致数据错位。好在MySQL的LOAD DATA INFILE专门支持处理这种标准CSV格式,只需要补充两个关键参数就能解决:

修改后的导入命令

system("mysql -uXXXX -pxxx --local-infile XXXX -e \"LOAD DATA LOCAL INFILE '/home/nessus.csv' INTO TABLE vulnerabilities FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES\"")

关键参数解释

  • ENCLOSED BY '"':告诉MySQL字段是被双引号包裹的,包裹范围内的逗号不会被当成字段分隔符。这正是解决你描述中"According to its banner,"被错误拆分的核心配置。
  • ESCAPED BY '"':处理字段内部的双引号——标准CSV中如果字段本身包含双引号,会用两个连续双引号表示(比如"He said ""hello"" to me"),这个参数让MySQL把这种情况解析成单个双引号。
  • 保留你原来的FIELDS TERMINATED BY ','和LINES TERMINATED BY '\r\n',因为这符合Nessus CSV的格式规范。

额外注意事项

  1. 确保你的MySQL客户端和服务器都开启了local_infile选项(你已经在命令里加了--local-infile,如果还是报错,可以检查服务器端的local_infile参数是否为ON)。
  2. 确认CSV文件的编码和目标表的字符集一致(比如都是UTF-8),避免导入后出现乱码。
  3. 如果导入后还有个别字段错位,可以检查CSV文件是否有异常行(比如未正确闭合的双引号),Nessus导出的CSV一般格式规范,但偶尔可能有特殊情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:36:27