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

How can you replace NA values with NULL while inserting data from a file to a table?

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

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

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

由于我们对您的 table 或您的 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);