I want to insert multiple rows into a MySQL table at once using Java. The number of rows is dynamic. In the past I was doing...
for (String element : array) {
myStatement.setString(1, element[0]);
myStatement.setString(2, element[1]);
myStatement.executeUpdate();
}
I'd like to optimize this to use the MySQL-supported syntax:
INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
but with a PreparedStatement
I don't know of any way to do this since I don't know beforehand how many elements array
will contain. If it's not possible with a PreparedStatement
, how else can I do it (and still escape the values in the array)?
connection.setAutoCommit(false);
andconnection.commit();
download.oracle.com/javase/tutorial/jdbc/basics/… – Iodate