multiple - Cómo hacer una inserción por lotes en MySQL
mysql insert multiple rows (5)
Tengo 1-muchas cantidades de registros que deben ingresarse en una tabla. ¿Cuál es la mejor manera de hacer esto en una consulta? ¿Debería hacer un ciclo e insertar un registro por iteración? ¿O hay un mejor camino?
Cargar consulta de archivo de datos es una opción mucho mejor pero algunos servidores como GoDaddy restringen esta opción en el alojamiento compartido, por lo que solo quedan dos opciones, una es insertar registro en cada iteración o inserción por lotes, pero la inserción por lotes tiene su limitación de caracteres si su consulta excede este número de caracteres establecidos en mysql, entonces su consulta se bloqueará, así que sugiero insertar datos en fragmentos con inserción por lotes, esto minimizará el número de conexiones establecidas con la base de datos. Mucha suerte chicos
Del manual de MySQL
Las instrucciones INSERT que usan la sintaxis VALUES pueden insertar varias filas. Para hacer esto, incluya múltiples listas de valores de columna, cada uno entre paréntesis y separados por comas. Ejemplo:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
La mayoría de las veces, usted no está trabajando en un cliente MySQL y debe combinar insertos utilizando la API apropiada.
Por ejemplo, en JDBC:
connection con.setAutoCommit(false);
PreparedStatement prepStmt = con.prepareStatement("UPDATE DEPT SET MGRNO=? WHERE DEPTNO=?");
prepStmt.setString(1,mgrnum1);
prepStmt.setString(2,deptnum1);
prepStmt.addBatch();
prepStmt.setString(1,mgrnum2);
prepStmt.setString(2,deptnum2);
prepStmt.addBatch();
int [] numUpdates=prepStmt.executeBatch();
mysql le permite insertar varias filas a la vez INSERT manual
Insert into table(col1,col2) select col1,col2 from table_2;
Vaya a: http: //dev.mysql.com/doc/refman/5.5/en/insert.html