mysql - LOAD DATA LOCAL INFILE 的触发器

标签 mysql sql database triggers

我正在使用“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/

相关文章:

mysql - 如何使用 Tableau 处理非常大的数据

mysql - 如何检索每个 ID 的最新和第二个最新日期?

php - 如何同时对多个表执行多个删除查询

mysql - 使用带有 1 位小数的 datediff 表示年份

mysql - 无法创建存储函数 - 语法错误?

mysql - 不支持的子查询表达式 '' 时尚'' : SubQuery expression refers to Outer query expressions only

php - 使用 MySQL 查询返回正确数据时遇到问题

SQL 检查用户关系是否存在

database - 在 Enterprise Architect 中的表之间复制列

mysql - 数据库设计 - 显示可用时间的最佳方式?