【发布时间】:2017-08-11 01:04:20
【问题描述】:
刚开始我的爱好项目,现在我来这里是为了获得有关进行正确数据库设计/查询的帮助。我制作了一个简单的 Java 程序,它循环遍历文件夹的内容。我想将此内容保存到 MySQL 数据库,所以我在 Java 中添加了一个连接器到我的数据库,在 MySQL 中创建了一个表和列“文件”、“路径”和“id”、“日期”。
所以现在重要/有趣的事情是,每次我想在 Java 中将文件名添加到 MySQL 时,我都会这样做(当按下 GUI 按钮时,我会调用一个方法):
- 删除具有相同文件路径的所有条目 - 这是为了确保我将获得与路径中的内容完全相同的新条目。
- Java 循环:将文件信息插入到列 id、路径、文件名和文件添加到数据库中的日期。
通过这种方式,我始终可以确保将要添加到数据库中的文件名始终是最新的,无论我重命名文件还是删除它,它都会是最新的,因为表将删除其条目并写入新信息。旧信息 -> 删除旧信息 - 插入新信息 -> 最新。
我知道这可能不是最好的解决方案,但它确实有效,但现在我被困在我想做的下一件事上。我想添加文件的差异,以便知道在两次插入之间添加和删除了哪些文件,这是我的问题,因为在我无法比较的新 INSERT 之前删除了条目。您将如何更改设计或解决方案?欢迎所有想法,因为我很新鲜,如果你能告诉我查询的样子,我将不胜感激。
【问题讨论】:
-
您可以在删除所有内容之前简单地查询您的数据库。查询旧信息 -> 与新信息比较 -> 删除旧信息 -> 插入新信息