是否可以编写使用CSV中的标识值删除记录的MySQL查询?

时间:2016-06-28 14:50:49

标签: mysql csv

我知道如何在PHP中执行以下操作,但我想知道是否可以编写"纯" MySQL查询做同样的事情:

每天晚上,我都有一个脚本生成一个主键ID的CSV文件,我需要从大型记录数据库中删除。

是否可以编写读取CSV文件的MySQL查询,并删除每个主键值的记录?在伪代码中,有以下几点:

   READ 'CSVFILE.csv' AS FILE;
   FOR EACH( VALUE IN FILE )
        DELETE FROM myTable WHERE id = VALUE;

使用MySQL查询甚至可以这样吗?

1 个答案:

答案 0 :(得分:0)

您可以通过使用两个查询并制作临时表来完成工作 LOAD DATA INFILE

LOAD DATA INFILE 'CSVFILE.csv' INTO TABLE temp_tbl_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
DELETE FROM myTable WHERE id IN (SELECT toDeleteIdColumn FROM temp_tbl_name);