我连接到数据库,其中有50个表,在数据库中的表中引用。我遇到的问题是,对于其中一个表,SQL查询中的WHERE语句根本不被查询考虑,就像它不存在一样。我尝试了很多东西,比如使用行索引而不是行名来在查询中引用它。我搜索了一会儿但似乎没有人遇到同样的问题。
这很奇怪,因为它只在一个查询中发生,所有其他工作都很好,在相同类型的数据上,相同的WHERE。所以解决方案可能很愚蠢,但此时我需要另一种观点。
下面的第二个查询工作正常,但就好像WHERE语句不在那里......但第一个实现的目标是预期的目标。
resultCompare = compareStat.executeQuery("SELECT Nb_doc_Notes, Nb_doc_SQL FROM Comparaison_Replique_Resultats WHERE Table_SQL_associee = '"+tableName+"' ORDER BY ID_Comparatif DESC;");
resultCompare.next();
int numberLines = resultCompare.getInt("Nb_doc_Notes");
numberEntries = resultCompare.getInt("Nb_doc_SQL");
resultCompare.close();
resultCompare = compareStat.executeQuery("SELECT ID_Comparatif FROM Comparaison_Replique_Resultats WHERE Difference = "+REQUIRED_DIFFERENCE+" ORDER BY ID_Comparatif DESC;");
resultCompare.next();
int ID = resultCompare.getInt("ID_Comparatif");
resultCompare.close();
所以,当我检查“ID_Comparatif”时,它只是得到表中的最后一个,忽略了差异几乎每次都与REQUIRED_DIFFERENCE不等的事实(等于0 BTW,这只是在我的初步测试期间我尝试放置变量中的值然后连接它,就像我在程序中的其他查询一样。
谢谢!