2

我的 Java 数据库中有 2 个表。我想从 table1 加载行并将它们放在 table2 中。请问怎么做?我ResultSet res = stmt.executeQuery(SQL)用于从表 I 中读取数据。我可以使用什么来将此数据放入表 II。?

4

3 回答 3

5

给你:

String sql = "insert into table1 select * from table2 [where conditions]";
Statement stmt = connection.prepareStatement(sql);
stmt.executeUpdate();
于 2012-11-20T19:50:48.187 回答
1

你可以尝试这样的事情: -

 Statement st1 = con1.createStatement();
 ResultSet rs = st1.executeQuery("select * from table1");
 PreparedStatement ps = null;

 while(rs.next())
    {
        ps = con2.prepareStatement("insert into table2 values(?,?)");
        ps.setInt(rs.getInt());
        ps.setString(rs.getString());
        ps.executeUpdate();
    }

假设您的表中有两列

于 2012-11-20T19:18:47.440 回答
0

您可以为此使用 PreparedStatments

示例代码在这里

 int result;
    Connection connection = null; // manages connection
            PreparedStatement insert = null;

    connection = DriverManager.getConnection(DB_URL,"root","password");
                insert = connection.prepareStatement("INSERT into table2" +
                "(f1,f2,f3)" +
                "VALUES(?,?,?)" );
                        insert.setString(1, Yourvaluehere);
                insert.setInt(2, Yourvaluehere);
                insert.setDouble(3, YourValueHere);
    result = insert.executeUpdate();

//Yourvaluehere - 应该来自对象的getmethods - 这就是我所做的,如果你有这个想法,你可以做得更好

于 2012-11-20T19:20:53.950 回答