我正在使用 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.
不幸的是,returnedFriends 不会返回新插入的值“buddy”。
如果我单击 SQL Workbench/J GUI 工具中的“提交任何未决的数据库更改”按钮,然后运行 select 语句,新值“buddy”将返回。
到目前为止我尝试了什么?
- 对插入和选择使用相同的连接对象。
- 在插入命令之后以及每个选择命令之后打开和关闭连接。
- 禁用自动提交并尝试手动提交。
- 通过代码插入,然后直接从数据库中选择。