Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/08/2010, 05:46
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 9 meses
Puntos: 2658
Respuesta: Insertar array mysql

MySQL no puede manejar arrays. No existen en ese contexto, a diferencia de Postgre.
Lo que debes hacer en todo caso es o bien una carga masiva con LOAD DATA INFILE, contra un archivo de texto local o en servidor, o bien crear un INSERT masivo, con muchos registros encadenados, por bloque.
Cualquiera de las dos es igualmente funcional. La segunda opción consiste en crear una sentencia tal que sea:
Código MySQL:
Ver original
  1. NSERT INTO `bd`.`clientes` (`usuario`, `nombre`, `email`, `pass`)
  2.         ('valor1', 'valor2', 'valor3', 'valor4'),
  3.         ('valor1', 'valor2', 'valor3', 'valor4'),
  4.         ('valor1', 'valor2', 'valor3', 'valor4'),
  5.         ('valor1', 'valor2', 'valor3', 'valor4'),
  6.         ('valor1', 'valor2', 'valor3', 'valor4'),
  7.         ('valor1', 'valor2', 'valor3', 'valor4'),
  8.         ('valor1', 'valor2', 'valor3', 'valor4'),
  9.         ('valor1', 'valor2', 'valor3', 'valor4'),
  10.         ('valor1', 'valor2', 'valor3', 'valor4'),
  11.         ('valor1', 'valor2', 'valor3', 'valor4'),
  12.         ('valor1', 'valor2', 'valor3', 'valor4'),
  13.         ('valor1', 'valor2', 'valor3', 'valor4'),
  14.         ('valor1', 'valor2', 'valor3', 'valor4');
Esto debe quedar cargado en una sola variable que se envía a MySQL en una sola ejecución. Obviamente, la creación de esta sentencia requiere una programación más fina, pero es inmenso el beneficio cuando tienes centenares de registros a ingresar.
De este modo, por ejemplo, introduzco alrededor de 80.000 registros en bloques de 500 registros, en un lapso de 10 segundos, siendo cada uno de ellos de 52 bytes (52 x 80000 = 4.160.000 bytes).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)