csv 使用向导导入MySQL,无空值

rryofs0p  于 2022-12-15  发布在  Mysql
关注(0)|答案(1)|浏览(164)

我试图用向导将数据从csv导入到mysql,包含空值的行不包括在导入的表中。
怎么解决呢?

0kjbasz6

0kjbasz61#

您需要处理csv文件中的NULL,如described on MySQL manual
NULL值的处理因使用的FIELDS和LINES选项而异:
对于默认的FIELDS和LINES值,NULL作为字段值\N写入输出,而字段值\N作为NULL读取输入(假定ESCAPED BY字符为)。
如果FIELDS ENCLOSED BY不为空,则包含文字NULL作为其值的字段将被读取为NULL值。这与包含在FIELDS ENCLOSED BY字符中的NULL不同,后者将被读取为字符串'NULL'。
如果FIELDSESCAPED BY为空,则NULL被写入为NULL字。
使用固定行格式(当FIELDS TERMINATED BY和FIELDS ENCLOSED BY都为空时使用),NULL将作为空字符串写入。这将导致表中的NULL值和空字符串在写入文件时无法区分,因为它们都是作为空字符串写入的。如果您需要在重新阅读文件时能够区分这两者,不应使用固定行格式。因此,如果csv数据中存在NULL,请将其替换为\N。
例如:更换

1, foo, NULL, bar

签署人:

1, foo, \N, bar

相关问题