我的Java数据库中有2个表。我想从table1加载行并将它们放在table2中。怎么可以呢?我正在使用ResultSet res = stmt.executeQuery(SQL)
从表I中读取。我可以使用什么来将这些数据放到表II中。 ?
答案 0 :(得分:5)
你在这里:
String sql = "insert into table1 select * from table2 [where conditions]";
Statement stmt = connection.prepareStatement(sql);
stmt.executeUpdate();
答案 1 :(得分:2)
你可以尝试这样的事情: -
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();
}
假设你的表中有两列
答案 2 :(得分: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 - 这就是我所做的,如果你记住它,你可以做得更好