如何跟踪MySQL中加载的源文件?

时间:2011-12-07 10:41:38

标签: java mysql file key unique

我在MySQL中加载文件。每个文件包含:

Date ShopNumber subject price quantity total

e.g。文件1:

01/01/2011 Mexico Book1 $10 2 $20
01/01/2011 Mexico Book2 $10 2 $20
01/01/2011 Mexico Book3 $10 2 $20
...............................

file2的:

01/01/2011 Mexico Book4 $10 2 $20
01/01/2011 Mexico Book1 $10 1 $10
...............................

在MySQL表中:

01/01/2011 Mexico Book1 $10 3 $30
01/01/2011 Mexico Book2 $10 2 $20
01/01/2011 Mexico Book3 $10 2 $20
01/01/2011 Mexico Book4 $10 2 $20
...............................

问题是:我必须跟踪源文件,我不能将源文件包含到表的唯一键中 - 我只需保留总计。 重复很少见。可以添加另一个只保留重复的表吗?感谢。

1 个答案:

答案 0 :(得分:1)

我的应用程序包括importal函数,这是我解决将数据加载到MySQL和跟踪信息的问题的方法。

  • 当用户上传文件时,应用程序将其重新格式化为以制表符分隔的uft8编码的有效临时文件
  • 文件的名称以及有关将应用程序插入到单独的表import_info中的导入的其他元信息,并检索其ID(update_id)
  • 然后应用程序使用LOAD DATA INFILE查询从文件中加载数据,并将update_id attr1 attr2 attr3 update_id传递给该文件。 ,LOAD DATA LOCAL INFILE %(file_path)s INTO TABLE importdata CHARACTER SET 'utf8' (attr1, att2, att3, update_id) SET update_id = %(update_id)s; 来自文件,importdata来自查询的参数)

    importdata
  • 我的案例中的{{1}}表允许在导入数据后应用程序在其他表中合并的重复项。如果合并成功,我将从{{1}}表中删除导入的数据。