提问者:小点点

如何在mySQL表上插入扫描值?


关于如何将另一个表中的值插入到新表中,我有一个问题。 我有以下代码:

Scanner scanner1 = new Scanner(System.in);
java.sql.Statement st = conn.createStatement();
ResultSet res = st.executeQuery("SELECT * FROM flight");    
int f_id = scanner.nextInt();  
int air_id = scanner.nextInt();
          while (res.next()) {
             if (Integer.parseInt(res.getString("air_id")) == air_id && Integer.parseInt(res.getString("f_id")) == f_id) {
                if (Integer.parseInt(res.getString("f_status_f_id_s")) > 0) {
                      System.out.println("You can reserve");
                      stmt=(Statement) conn.createStatement();
                      stmt.execute("SET FOREIGN_KEY_CHECKS=0");
                            String query1= "INSERT INTO reservations" +" VALUES(1,6/6/2020,)"+air_id+"(..,..,;
                            stmt.executeUpdate(query1);

关于string query1=“insert INTO reservations”+“VALUES(1,6/6/2020,)”+air_id+“(。。,。。,;行,我希望air_id是我之前扫描的值,例如f_id.这是正确的语法方法吗?


共2个答案

匿名用户

对此使用准备好的语句,即:

 PreparedStatement stmt= con.prepareStatement();
 stmt.execute("SET FOREIGN_KEY_CHECKS=0");
  //put ?(no of values you need to insert)
  String query1= "INSERT INTO reservations values(?,?,?)";
  stmt.setInt(1,1);//1 specifies the first parameter in the query  
  stmt.setString(2,"6/6/2020"); 
  stmt.setInt(3,air_id);//pass your variable
  stmt.executeUpdate(query1);

匿名用户

可以使用以下代码在查询中插入变量:

String query1= "INSERT INTO reservations" +" VALUES(1,6/6/2020,)"+air_id=@air_id+"(..,..,;

谢谢,我希望能帮到你