复制一个表数据并使用JAVA将它们插入到同一数据库中的另一个表中?

时间:2016-09-29 12:13:38

标签: java mysql copy

我想从一个MYSQL数据库表中选择一些数据,并使用JAVA将这些选定的数据插入到同一数据库中的另一个表中。两个表都具有相同的结构。到目前为止,我可以选择数据,但我无法插入这些数据。

测试 test_t 是表格。

item_id 是表格中唯一的一栏。

我还想在将测试表格数据插入 test_t 表格后将其删除。这个测试表就像一个临时表。

这是我的方法。

<div id="map"></div>

1 个答案:

答案 0 :(得分:1)

以下代码将有效。如果你提到setAutoCommit(false),那么你需要在最后提交。

        con.setAutoCommit(false);
        PreparedStatement ps, ps1 = null;
        ResultSet rs = null;
        Statement st = null;

        String SEL_QUERY = "select item_id from test";
        String UPDATE_QUERY = "insert into test_t values(?)";
        String DELETE_QUERY = "delete from test";

        st = con.createStatement();
        ps = con.prepareStatement(SEL_QUERY);
        rs = ps.executeQuery();
        ps1 = con.prepareStatement(UPDATE_QUERY);

        while (rs.next())
        {

            String id = rs.getString("item_id");
            System.out.println(" item_id : " + id);
            ps1.setString(1, id);
            ps1.addBatch();
        }

        ps1.executeBatch();
        st.execute(DELETE_QUERY);

        con.commit();
        con.close();