我正在使用“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 触发器来实现这一点。现在我熟悉了如何使用触发器来执行插入操作。我的问题是;如何为 LOAD DATA LOCAL INFILE
命令创建 AFTER
触发器?
只有当 LOAD DATA LOCAL INFILE
查询完成所有操作时,触发器才会触发。它不应该在每次增量插入或任何情况下触发。
最佳答案
您是否有一个表格来跟踪这些批量上传,例如谁运行了它们、它们花费了多长时间等?
如果是这样,您可以将其用作哨兵,并将触发器放在那里,对另一个表中新加载的数据执行批量操作。
有道理吗?
关于mysql - LOAD DATA LOCAL INFILE 的触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463318/