有個問題,我怎樣才能從不同的表使用MySQL獲得2個不同的變量?是否可以使用預準備語句從1個查詢中進行工作?我是用java編寫的mysql數據庫編程的新手,所以這是我的問題。Java MYSQL查詢,從不同的表中獲得2個變量
我試圖讓:
user_key from user table
project_key from project table
,是的,我知道,表名應以非單數形式。
我想:
String project_key = null;
String user_key = null;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://mysql:" + Config.getPortDB() + "/" + Config.getDatabase() + "?"
+ "user=" + Config.getUsername() + "&password=" + Config.getPassword());
String query ="SELECT user_key,project_key FROM user, project WHERE user_key = ? AND project_key = ?";
PreparedStatement preparedStatement = con.prepareStatement(query);
for(int i = 0; i < auths.size() ; i++) {
preparedStatement.setString(i+1, auths.get(i));
}
ResultSet rs = preparedStatement.executeQuery();
while(rs.next()) {
project_key = rs.getString("project_key");
user_key = rs.getString("user_key");
}
System.out.println(project_key); // null
System.out.println(user_key); // null
我在做什麼錯在這裏?
你在做什麼應該工作,儘管最好使用'JOIN' - 你的代碼出了什麼問題? –
當我嘗試從ResultSet中獲取值時,出現「null」異常 – Ervinas34
那麼您需要顯示該代碼,然後 –