【发布时间】:2021-02-06 11:46:20
【问题描述】:
我必须使用 Mysql LOAD DATA IN FILE, 将几个 CSV 加载到一些表中,并且我想将无法加载的丢弃记录(因为 FK 失败、重复项等)保存在丢弃文件,如 Oracle SQL loader 所做的
有什么建议吗? 谢谢!
【问题讨论】:
-
在 mysql 中没有这样的东西。在加载之前验证数据或加载到临时表并进行验证。
-
在单个查询中是不可能的(尤其是考虑到任何错误都会停止加载但已加载的行不会被删除/回滚)。容易 - 在存储过程中。将所有数据加载到中间表中,然后将行一一移动到工作表中。其余的将是未加载的行。
标签: mysql csv load load-data-infile