SQLite数据库到MySQL数据库每日迁移/更新新字段

时间:2011-06-26 23:26:34

标签: java php mysql sqlite migration

我有一个SQLite数据库,它是通过使用Java读取PDF文件中的一些数据而创建的。我每天(或几乎)都有新的PDF文件要在我的SQLite数据库的某些表中创建新行。

最后,我想做的是使用我的网站访问的MySQL数据库在互联网上提供该数据库中的数据。问题是,我在Google上搜索过,无法获得如何将我的数据库迁移到MySQL。当然我发现了一些程序,但他们不允许我每天午夜以自动方式进行。

另外,如果可能的话,我宁愿采用另一种方式:只更新已添加的新行并仅迁移那些行,而不是每天重新创建整个数据库。

我不知道做这样的事情的最佳方法是什么,所以如果标签错了,我很抱歉。

运行java程序来创建/更新SQLite数据库的计算机正在运行Windows Vista,如果重要的话。

1 个答案:

答案 0 :(得分:1)

您可以在SQLite表中包含时间戳,并将默认值设置为插入记录的时间(default now应该执行此操作)。然后,你需要一个包含单个时间戳的MySQL数据库(或你的SQLite数据库,哪个更适合你)的表,这将是你的“最后导入时间”。

什么时候进行数据传输:

  • 抓住最后导入的时间。
  • 将当前时间戳存储在 t
  • 从SQLite数据库中获取比 t 更新的所有内容,并将其复制到MySQL数据库中。
  • 将数据库中的最后导入时间从上方更新为 t

t 中存储您正在使用的时间戳有助于避免遗漏任何内容。

如果您还要更新SQLite数据库中的内容而不仅仅是插入内容,那么您可以为“上次修改时间”添加另一个时间戳。然后应用与上面相同的逻辑,将“copy”替换为“update”或“delete and re-insert”。