Quiero insertar varias filas en una tabla MySQL a la vez usando Java. El número de filas es dinámico. En el pasado yo estaba haciendo ...Java: inserte varias filas en MySQL con PreparedStatement
for (String element : array) {
myStatement.setString(1, element[0]);
myStatement.setString(2, element[1]);
myStatement.executeUpdate();
}
me gustaría para optimizar esta opción para utilizar la sintaxis soportada-MySQL:
INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
pero con un PreparedStatement
Yo no sé de ninguna manera para hacer esto ya que no sé de antemano cuántos elementos contendrá array
. Si no es posible con un PreparedStatement
, ¿de qué otro modo puedo hacerlo (y aún así escapar de los valores del conjunto)?
Perfecto, gracias! –
Tus inserciones irán más rápido si las pones en transacciones ... es decir, envuelves con 'connection.setAutoCommit (false);' y 'connection.commit();' http://download.oracle.com/javase/tutorial/ jdbc/basics/transactions.html –
Gracias por el consejo, Joshua! –