MySQL 不会 CSV 导入 \N 作为 NULL
Posted
技术标签:
【中文标题】MySQL 不会 CSV 导入 \\N 作为 NULL【英文标题】:MySQL doesn't CSV-import \N as NULLMySQL 不会 CSV 导入 \N 作为 NULL 【发布时间】:2012-11-18 20:11:28 【问题描述】:我正在尝试使用 phpMyAdmin 将 CSV 文件导入 mysql 5.1 DB。该文件包括几个可能包含NULL
值的日期列。 According to the manual、NULL
应写为\N
。但是,在成功导入后,\N
在日期列中显示为 0000-00-00
(与 NULL
相对)。如何导入 NULL?
选项集:
行分隔符,
"
包围的字段,
\
转义的字段,
以auto
结尾的行。
【问题讨论】:
【参考方案1】:phpMyAdmin 区分两种 CSV 导入格式:CSV
和 CSV with LOAD DATA
。后一个选项实际上接受\N
,如手册中所述。
如果列被一个字符包围(就是这种情况),也可以使用前一种方法(没有LOAD DATA
)通过将值设置为CSV文件中的非封闭NULL
来导入NULL。这符合manual的如下声明:
如果 FIELDS ENCLOSED BY 不为空,则包含文字的字段 word NULL 作为其值被读取为 NULL 值。这不同于 包含在 FIELDS ENCLOSED BY 字符中的单词 NULL,读取 作为字符串'NULL'。
【讨论】:
以上是关于MySQL 不会 CSV 导入 \N 作为 NULL的主要内容,如果未能解决你的问题,请参考以下文章
如何在某些元素中处理带有 nul char 的 CSV 行?