Java tutorial
/* MySQL and Java Developer's Guide Mark Matthews, Jim Cole, Joseph D. Gradecki Publisher Wiley, Published February 2003, ISBN 0471269239 */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; public class Transaction { Connection connection; public Transaction() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); connection = DriverManager .getConnection("jdbc:mysql://192.168.1.25/accounts?user=spider&password=spider"); } catch (Exception e) { System.err.println("Unable to find and load driver"); System.exit(1); } } public void doWork() { try { java.util.Date now = new java.util.Date(); connection.setAutoCommit(false); Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = statement.executeQuery("SELECT * FROM acc_add WHERE acc_id = 1034055 and ts = 0"); // set old row ts = current time rs.next(); rs.updateTimestamp("ts", new Timestamp(now.getTime())); rs.updateRow(); rs.moveToInsertRow(); rs.updateInt("add_id", rs.getInt("add_id")); rs.updateInt("acc_id", rs.getInt("acc_id")); rs.updateString("name", rs.getString("name")); rs.updateString("address1", "555 East South Street"); rs.updateString("address2", ""); rs.updateString("address3", ""); rs.updateString("city", rs.getString("city")); rs.updateString("state", rs.getString("state")); rs.updateString("zip", rs.getString("zip")); rs.updateTimestamp("ts", new Timestamp(0)); rs.updateTimestamp("act_ts", new Timestamp(now.getTime())); rs.insertRow(); connection.commit(); rs.close(); statement.close(); connection.close(); } catch (Exception e) { try { connection.rollback(); } catch (SQLException error) { } e.printStackTrace(); } } public static void main(String[] args) { Transaction trans = new Transaction(); trans.doWork(); } }