首页 > 数据库 > mysql教程 > 如何从包含空字段的 CSV 文件中正确加载具有 NULL 值的 MySQL 表?

如何从包含空字段的 CSV 文件中正确加载具有 NULL 值的 MySQL 表?

Barbara Streisand
发布: 2024-12-26 12:00:19
原创
265 人浏览过

How to Properly Load MySQL Tables with NULL Values from CSV Files Containing Empty Fields?

从 CSV 数据加载带有 NULL 值的 MySQL 表

将 CSV 数据导入 MySQL 表时,正确处理 NULL 值至关重要保持数据完整性。考虑以下情况:

您有一个名为“moo”的表,其中包含多个数字列,所有列都允许 NULL 值。从 CSV 文件加载数据时,您会遇到列中的空字段。然而,MySQL 不是用 NULL 填充这些字段,而是为它们分配零。在尝试区分 NULL 和零时,这可能会导致数据不一致。

要解决此问题,请使用以下方法:

  1. 将空字段读入局部变量。
  2. 检查局部变量是否为空字符串(相当于NULL)。
  3. 将实际表字段值设置为如果局部变量为空字符串,则为 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板