当前位置: 首页 > 知识库问答 >
问题:

检查是否从java JDBC更新了postgres数据库中的记录

贡可人
2023-03-14

如何从java中知道在调用更新查询时记录是否被更新。我曾尝试过executeUpdate()中的返回类型int,但每当执行查询时,它都会显示1。也就是说,如果记录更改或不更改,它将返回值

共有2个答案

公孙弘图
2023-03-14

如果您需要知道一行的数据是否因为更新而改变,您需要将参数传递给WHERE子句,并做一个语句,例如UPDATE foo SET bar=1美元,baz=2美元WHERE bar

之后,WHERE子句将匹配的唯一方法是,是否有实际的更新要执行,并且您可以使用返回值来检查是否发生了更新。

另一种可能性是重构代码,这样你就不必为此烦恼,但你需要进一步解释你的用例。

谢洛城
2023-03-14

执行更新(查询)返回更新的行数

int rows = statement.executeUpdate("Your_query");
System.out.println("number of rows updated "+rows);

如果没有任何更新,行将0

 类似资料:
  • 问题内容: 我必须每20秒阅读一次CSV。每个CSV都包含最小值。500至最大 60000行。我必须将数据插入Postgres表中,但是在此之前,我需要检查是否已插入项目,因为很有可能会获得重复的项目。检查唯一性的字段也已建立索引。 因此,我分块读取文件,并使用IN子句获取数据库中已有的项目。 有更好的方法吗? 问题答案: 这应该表现良好: 与这个答案密切相关。

  • 问题内容: 我正在尝试根据特定的ID查询数据库。 如果这是第一次运行该活动,则该表将与id列一起存在,但是将不存在具有特定id的记录。如何检查该特定记录是否存在,如果不存在,则添加它?我发现有关检查特定列是否存在的很多信息,但与检查特定记录是否存在无关。 到目前为止,我已经尝试获取id列索引并检查它是否返回-1,但是由于某种原因,它实际上正在返回1。我可以在if语句中使用什么来验证尚未创建id列?

  • 我写了一个这样的方法。此方法的目的是根据数据库中发送的列,通过查询是否有记录来返回。但是,当我键入Any(X=>X.)时,我无法访问相关表的列。我应该如何编辑或添加到此方法?我对这些事情一知半解。如果你能解释一下我会很高兴的。多谢了。

  • 与此问题类似,如何查找数组中是否存在空值? 这里有一些尝试。 只有使用array\u to\u string的技巧才会显示预期值。有没有更好的方法来测试这一点?

  • 问题内容: 我有一张大桌子可用来工作。我想检查是否有一些记录的parent_id等于我的传递值。目前,我实现的方法是使用“从mytable中选择count(*),其中parent_id =:id”;如果结果> 0,则表示它们确实存在。 因为这是一个非常大的表,并且我不在乎存在的确切记录数,所以我只想知道它是否存在,所以我认为count(*)效率很低。 如何以最快的方式实现此要求?我正在使用Orac

  • 我们使用liquibase指定数据库布局及其更改。在开发中,我们使用集成在Java应用程序中的liquibase来执行必要的更新。 因为我们的应用程序没有权利在生产中更改模式,所以liquibase不在生产中运行。相反,我们使用liquibase生成SQL脚本。然后在部署应用程序之前手动执行这些脚本。 我们希望确保数据库布局与对应于应用程序的变更日志匹配。SQL脚本创建表并插入类似liquibas