我正在使用AWS RDS(特別是mysql),我正在使用SQL Workbench/J作爲GUI工具。用Java編寫的,在這裏我的服務器端代碼是我的代碼:Java mysql AWS執行成功,然後選擇不返回新值
插入代碼:
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.
不幸的是,返回的朋友不會返回新的插入值'朋友'。
如果我將點擊SQL Workbench/J GUI工具中的'提交任何待處理的數據庫更改'按鈕,然後運行select語句,新值'buddy'將返回。
我到現在爲止試過了什麼?
- 對insert和select使用相同的連接對象。
- 在insert命令之後和每個select命令之後,打開和關閉連接。
- 禁用自動提交併嘗試手動提交。
- 通過代碼插入,然後直接從數據庫中選擇。
是的我試過第一個建議沒有運氣,連接已經設置爲自動提交。 select語句由我在所描述的流程中忽略的代碼的不同部分調用,只是爲了使其更清晰。 – 2014-11-03 09:46:29