Ich möchte einige Daten aus einer MySQL-Datenbanktabelle auswählen und diese ausgewählten Daten mithilfe JAVA in eine andere Tabelle in derselben Datenbank einfügen. Beide Tabellen haben die gleiche Struktur. Bis jetzt kann ich Daten auswählen, aber ich kann diese Daten nicht einfügen.Kopieren Sie eine Tabelle Daten und fügen Sie diese in eine andere Tabelle in der gleichen Datenbank mit JAVA?
Test und test_t sind die Tabellen.
item_id ist die einzige Spalte in der Tabelle.
Ich möchte auch Test Tabellendaten löschen, nachdem ich sie auf den Tisch test_t eingefügt. Diese Testtabelle ist wie eine temporäre Tabelle.
Dies ist meine Methode.
private void testM() throws Exception {
pooler = DBPool_SF.getInstance();
dataSource = pooler.getDataSource();
Connection con = dataSource.getConnection();
con.setAutoCommit(false);
PreparedStatement ps,ps1 = null;
ResultSet rs = null;
String SEL_QUERY = "select item_id from test";
String UPDATE_QUERY = "insert into test_t values(?)";
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(id);
ps1.setString(1,id);
ps1.addBatch();
}
ps1.executeBatch();
con.close();
}
Haben Sie irgendwelche Fehler oder irgendeinen Hinweis darauf, dass etwas schief läuft? Abgesehen davon, warum tun Sie das nicht in der Datenbank mit ['INSERT ... SELECT '] (https://dev.mysql.com/doc/refman/5.7/en/insert-select.html)? – Thomas
Was ist der Fehler, den Sie bekommen? – user5478656
vor dem Schließen der Verbindung Commit verwenden. con.close(); con.commit(); – Prasath