在将数据从文件插入表时,如何用 NULL 替换 NA 值?

Posted

技术标签:

【中文标题】在将数据从文件插入表时,如何用 NULL 替换 NA 值?【英文标题】:How can you replace NA values with NULL while inserting data from a file to a table? 【发布时间】:2021-10-23 08:15:18 【问题描述】:

我正在尝试将 csv 文件中的数据导入数据库中的现有表中。它似乎工作正常,除了 mysql 不接受 NA 作为由 int 表示的列的值。因此,我想在导入文件时将 NA 的值更改为 NULL。另外,我想终止使用 NA 作为主键的表中的一行。 如果值已经在数据库表中,这一切都很容易更改,但是由于此错误,这些值没有被添加。为了记录,我使用 MAMP。

下面是我目前使用的代码:

LOAD DATA LOCAL INFILE 'filename.csv' 
INTO TABLE table_name 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
IGNORE 1 ROWS

【问题讨论】:

【参考方案1】:

由于我们对您的表或 csv 一无所知,假设您有 4 列,并且您想将 columns2 NA 替换为 NULL

LOAD DATA LOCAL INFILE 'filename.csv' 
INTO TABLE table_name 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
IGNORE 1 ROWS
(column1, @int, column3, column4)
SET column2 = IF(@int = 'NA',NULL,@int);

【讨论】:

以上是关于在将数据从文件插入表时,如何用 NULL 替换 NA 值?的主要内容,如果未能解决你的问题,请参考以下文章

solidworks如何用同名零件替换

在将数据插入书籍表时选择类别和子类别

如何在将数据从 csv 复制到 sql 表时在目标表中插入 CurrentUserId 和 TenantId 字段

在将数据插入 Oracle 表时查找重复行

在将数据插入突触表数据类型时自动从 Varchar 转换为 Text

Django REST Framework:如何用空字符串替换 null?