在将数据从文件插入到 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);
我正在尝试将数据从 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);