从 CSV 数据加载带有 NULL 值的 MySQL 表
将 CSV 数据导入 MySQL 表时,正确处理 NULL 值至关重要保持数据完整性。考虑以下情况:
您有一个名为“moo”的表,其中包含多个数字列,所有列都允许 NULL 值。从 CSV 文件加载数据时,您会遇到列中的空字段。然而,MySQL 不是用 NULL 填充这些字段,而是为它们分配零。在尝试区分 NULL 和零时,这可能会导致数据不一致。
要解决此问题,请使用以下方法:
下面是一个示例语句:
LOAD DATA INFILE '/tmp/testdata.txt' INTO TABLE moo FIELDS TERMINATED BY "," LINES TERMINATED BY "\n" (one, two, three, @vfour, five) SET four = NULLIF(@vfour,'') ;
在此语句中,第四个字段(“four”)被读入局部变量@vfour。如果 @vfour 包含空字符串,则使用 NULLIF() 函数将表中的第四个字段设置为 NULL。
如果有多列可能为空字段,则可以将它们全部读入变量并使用多个 SET 语句来相应地处理 NULL 值。
以上是如何从包含空字段的 CSV 文件中正确加载具有 NULL 值的 MySQL 表?的详细内容。更多信息请关注PHP中文网其他相关文章!