导入前交叉引用另一个表?

时间:2012-03-27 21:30:47

标签: mysql csv import load-data-infile

我正在尝试为我的电子邮件广告系列构建主清单列表。该表仅包含3个字段:电子邮件,原因以及添加时间的时间戳。就我而言,对我来说,电子邮件是否已经反弹,取消订阅或通过反馈循环进行处理并不重要。最重要的是我不想再出于任何原因再次发送到此表中的电子邮件。

当我将列表导入到我的邮件系统中时,我想在将此“scrub”表导入包含当前客户的主表之前交叉引用它。到目前为止,我可以使用以下方法轻松地将电子邮件列表导入数据库:

LOAD DATA LOCAL INFILE 
'/home/domain/tmp/temp_file' 
INTO TABLE `master_email_list` 
FIELDS TERMINATED BY  ';' 
ENCLOSED BY '"' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\r\n'

如何在导入主master_scrub表之前“检查”master_email_list表?

1 个答案:

答案 0 :(得分:0)

由于这只是一个ascii文件,因此您将擦洗表中的所有电子邮件导出为file1,并执行fgrep -v -f file1 temp_file> temp_file2,它应该排除所有的scrub表条目。这假设您的操作系统是unix。在Windows中,您可以使用PowerShell执行相同的操作。