【问题标题】:Mysql LOAD DATA IN FILE discard file like Oracle Sql Loader doesMysql LOAD DATA IN FILE 像 Oracle Sql Loader 一样丢弃文件
【发布时间】:2021-02-06 11:46:20
【问题描述】:

我必须使用 Mysql LOAD DATA IN FILE, 将几个 CSV 加载到一些表中,并且我想将无法加载的丢弃记录(因为 FK 失败、重复项等)保存在丢弃文件,如 Oracle SQL loader 所做的

有什么建议吗? 谢谢!

【问题讨论】:

  • 在 mysql 中没有这样的东西。在加载之前验证数据或加载到临时表并进行验证。
  • 在单个查询中是不可能的(尤其是考虑到任何错误都会停止加载但已加载的行不会被删除/回滚)。容易 - 在存储过程中。将所有数据加载到中间表中,然后将行一一移动到工作表中。其余的将是未加载的行。

标签: mysql csv load load-data-infile


【解决方案1】:

您可以使用 MySQL WorkBench 使用导入向导通过 CSV 轻松导入数据。它可以选择导入所有数据并创建新表。从那里您可以稍后更改表或根据需要创建必要的索引,或随时更改数据类型。

另一个选择是像往常一样使用 LOAD DATA 命令。将数据导入到没有外键的新创建的表中。您也可以将 csv 列定位到特定的表列。见https://dev.mysql.com/doc/refman/8.0/en/load-data.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-16
    • 2020-04-09
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多