有个问题,我怎样才能从不同的表使用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
那么您需要显示该代码,然后 –