需要一些帮助!

时间:2011-04-13 07:42:45

标签: java mysql jdbc

对不起,这个问题可能听起来很傻,但我需要一些帮助!

我的项目是打开一个目录并列出所有文件。这些是csv文件。打开每个文件,并将内容加载到mysql数据库的表中。

所以我已经完成了上述步骤,我的java代码运行正常。例如,我在目录中有3个文件。当我运行项目时,3个文件中的每个文件中的值都被加载到mysql表中。

但是当我再次运行程序并使用Select语句检查数据库时,它会显示重复的数据,因此会加载6个文件的值。当我再次运行它时,数据库显示9个文件。但我不希望再次添加文件。

所以任何人都可以告诉我如何实现这一点,而无需从目录中删除已经添加的文件。

提前致谢

4 个答案:

答案 0 :(得分:1)

简单方法:将另一个表添加到数据库中以记录已经处理过的那些文件的名称。

然后,在将新文件的内容写入数据库之前:如果文件名已经在列表中,请先检查此表。


备选:记录上次“运行”的时间戳,对于所有运行,跳过那些“较旧”的文件。

但无论如何,你必须坚持某种标记,因为你需要记住你到目前为止所做的事情。

答案 1 :(得分:1)

在DB和物理文件中也有唯一的文件标识符。

检查是否存在跳过其他执行数据库操作

答案 2 :(得分:0)

在表格中添加另一列,这是您正在阅读的文件的文件名。所以总共有2列,1表示文件名,1表示文件数据。

在插入之前,使用SELECT语句检查是否已经读取并插入了该文件名。

答案 3 :(得分:0)

您可以将其他信息存储到数据库中,您已经导入了哪些文件。 您可以在附加表中存储导入文件的名称和最后修改 - 属性,并在内容 -table中对其进行引用。 根据此信息,您可以决定从目录中导入新文件的位置,或者仅更新已导入文件的内容。