1

我正在使用“LOAD DATA LOCAL INFILE”将 csv 文件导入数据库表。好奇心的完整查询是:

LOAD DATA LOCAL INFILE '".addslashes($current_file)."' REPLACE INTO TABLE $current_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '" . '"' . "' ESCAPED BY " . "'\\\\'" . " LINES TERMINATED BY '\n' IGNORE 1 LINES ($toVars) SET $setCols

现在,简而言之,就是将 csv 行加载到table_A. 我想要做的是创建一个内存表,它将记录曾经输入的每一行table_A。我将使用MYSQL Triggers来实现这一点。现在我熟悉使用inserts执行的触发器。我的问题是;如何AFTER触发LOAD DATA LOCAL INFILE命令?

LOAD DATA LOCAL INFILE仅当查询完成所有内容时才应触发触发器。它不应该在每个增量插入或任何情况下触发。

4

1 回答 1

3

你有一个表格来跟踪这些批量上传,比如谁运行它们,它们花了多长时间等?

如果是这样,您可以将其用作哨兵并将触发器放在那里以对另一个表中新加载的数据执行批量操作。

有道理?

于 2012-09-17T17:20:31.787 回答