我有大量的原始html文件,我通过Java中的连接解析并插入到MySQL数据库中。表行似乎在消失
我使用“REPLACE INTO”语句和这个方法:
public void migrate(SomeThread thread) throws Exception{
PreparedStatement threadStatement = SQL.prepareStatement(threadQuery);
thread.prepareThreadStatement(threadStatement);
threadStatement.executeUpdate();
threadStatement.close();
for(SomeThread.Post P : thread.threadPosts){
PreparedStatement postStatement = SQL.prepareStatement(postQuery);
P.preparePostStatement(postStatement);
postStatement.executeUpdate();
postStatement.close();
}
}
我运行我的程序的3种独立的情况下,在其各自的命令提示符下,与HTMLS自己单独的目录解析和承诺。
我正在使用HeidiSQL监视数据库,并且发生了一件有趣的事情,例如,我会在一个表格中看到500,000行,然后关闭HeidiSQL并稍后再回来查找我现在有440,000行。同样的事情发生在我使用的两张桌子上。
我的两个表都使用一个名为“id”的主键,每个ID都有自己的域,但是它们的值可能会重叠并相互覆盖?我不确定这是否会成为问题,因为我认为SQL会区分表的“本地”ID值。
否则我想这可能是因为我运行了3个独立的实例,每个实例都有它们与数据库的连接,所以发生了某种魔术,当一行正在提交时,执行交换到另一个提交语句取代表格,然后返回到第一次提交,然后导致数据库回滚收集的行数。
我对SQL很陌生,所以我不太确定从哪里开始,如果有人知道发生了什么,可以指向正确的方向,我真的很感激它。
感谢