我真的不知道發生了什麼事。我是Java的新手,對於MySQL來說相當新穎。實際上並沒有插入MySQL,但自動增加字段正在增加?
我想在Java中插入行到MySQL數據庫。它不會拋出任何例外,並且當我打印出SELECT *
時,它會顯示我更新的行。但是當我再次運行該程序或在Workbench中時,這些行不會停留。
其中一列(pk)是一個自動遞增的字段。該字段正在遞增,但數據不存在。
當我通過Workbench添加數據時,它會粘住,我可以在我的Java程序中檢索它,當我執行SELECT *
時。只有當我通過下面的代碼添加它時,數據似乎消失了。
這是代碼。我也跟着教程:
import java.sql.*;
public class SaveMap {
public static boolean MapSave(String mapName) {
Connection con = null;
Statement st = null;
ResultSet rs = null;
String url = "jdbc:mysql://127.0.0.1:3306/";
String db = "game_Maps";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "pass";
try {
Class.forName(driver);
con = DriverManager.getConnection(url + db, user, pass);
con.setAutoCommit(false);
st = con.createStatement();
System.out.println(st.executeUpdate("INSERT INTO Maps (mapName, mapSize) VALUES('DB Test', 5)"));
st.executeBatch();
String sql = "SELECT * FROM Maps";
rs = st.executeQuery(sql);
System.out.println("No \t Name");
while(rs.next()){
System.out.println(rs.getString(1) + " \t");
System.out.println(rs.getString(2) + " \t");
System.out.println(rs.getString(3) + " \t");
}
rs.close();
st.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
衛生署,我覺得自己像個白癡。我不確定這是什麼意思,並開始查看它,但忘了。謝謝。 – Blanky