gpt4 book ai didi

Java mysql AWS执行成功然后select不返回新值

转载 作者:行者123 更新时间:2023-11-29 07:50:07 25 4
gpt4 key购买 nike

我正在使用 AWS RDS(特别是 mysql),并使用 SQL Workbench/J 作为 GUI 工具。我用 Java 编写的服务器端代码,这是我的代码:

插入代码:

try {
Statement myStatement = insertConnectionObject.createStatement();
myStatement.executeUpdate("INSERT INTO friends VALUES('buddy', '15', '123');");
myStatement.close();
} catch(Exception ex) {
// code for handling exceptions
} finally {
myStatement.close();
insertConnectionObject.close();
}

之后,我从同一个表中调用选择代码:

try {
Statement myStatement = selectConnectionObject.createStatement();
ResultSet returnedFriends = myStatement.executeQuery("SELECT * FROM friends;");
//unfortunately, the returnedFriends will not return the new inserted value 'buddy'
} catch(Exception ex) {
// code for handling exceptions
} finally {
myStatement.close();
insertConnectionObject.

不幸的是,返回的Friends不会返回新插入的值“buddy”。

如果我单击 SQL Workbench/J GUI 工具中的“提交任何挂起的数据库更改”按钮,然后运行 ​​select 语句,则将返回新值“buddy”。

到目前为止我尝试过什么?

  1. 对插入和选择使用相同的连接对象。
  2. 在插入命令之后以及每个选择命令之后打开和关闭连接。
  3. 禁用自动提交并尝试手动提交。
  4. 通过代码插入,然后直接从数据库中选择。

最佳答案

您是否在连接上尝试过setAutoCommit(true),以防万一没有成功?

此外,如果您的选择只是为了获取新 key ,请不要忘记您可以在更新中调用 myStatement.getGenerateKeys()

关于Java mysql AWS执行成功然后select不返回新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26711094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com