Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

perdida de registros al exportar CSV

Estas en el tema de perdida de registros al exportar CSV en el foro de Mysql en Foros del Web. hola amigos tengo el siguiente problema: necesito exportar los registros de una tabla mysql a un archivo CSV, pero me han solicitado que incluya los ...
  #1 (permalink)  
Antiguo 07/10/2011, 14:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 43
Antigüedad: 13 años, 2 meses
Puntos: 0
perdida de registros al exportar CSV

hola amigos tengo el siguiente problema:

necesito exportar los registros de una tabla mysql a un archivo CSV, pero me han solicitado que incluya los titulos de los campos al comienzo del CSV

he realizado lo siguiente

SELECT 'correlativo','prioridad','fechaelab'
UNION
(SELECT correlativo, prioridad, fechaelab INTO OUTFILE 'usuarios.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM movimientos
ORDER BY correlativo DESC);


esto generar el archivo con los encabezados, pero no me incluye todos los registros correspondientes (faltan registros)

porque si hago un SELECT correlativo,prioridad,fechaelab from movimientos
este query me da mas resultados.

que puedo hacer para que me de la misma cantidad de registros el CSV, ya que al parecer el union hace que pierda algunos registros.
  #2 (permalink)  
Antiguo 08/10/2011, 11:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: perdida de registros al exportar CSV

¿Has probado así?
SELECT 'correlativo','prioridad','fechaelab'
UNION ALL
(SELECT correlativo, prioridad, fechaelab INTO OUTFILE 'usuarios.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM movimientos
ORDER BY correlativo DESC);
  #3 (permalink)  
Antiguo 08/10/2011, 13:49
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: perdida de registros al exportar CSV

Cita:
Iniciado por vmoran2009 Ver Mensaje
hola amigos tengo el siguiente problema:

necesito exportar los registros de una tabla mysql a un archivo CSV, pero me han solicitado que incluya los titulos de los campos al comienzo del CSV

he realizado lo siguiente

SELECT 'correlativo','prioridad','fechaelab'
UNION
(SELECT correlativo, prioridad, fechaelab INTO OUTFILE 'usuarios.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM movimientos
ORDER BY correlativo DESC);


esto generar el archivo con los encabezados, pero no me incluye todos los registros correspondientes (faltan registros)

porque si hago un SELECT correlativo,prioridad,fechaelab from movimientos
este query me da mas resultados.

que puedo hacer para que me de la misma cantidad de registros el CSV, ya que al parecer el union hace que pierda algunos registros.
Hay que verificar el contenido de los campos, ya que si hay NULL o valores binarios los resultados pueden ser erráticos como los describes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 10/10/2011, 07:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 43
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: perdida de registros al exportar CSV

Cita:
Iniciado por jurena Ver Mensaje
¿Has probado así?
SELECT 'correlativo','prioridad','fechaelab'
UNION ALL
(SELECT correlativo, prioridad, fechaelab INTO OUTFILE 'usuarios.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
FROM movimientos
ORDER BY correlativo DESC);

efectivamente al utilizar union all (se incluyen todos los registros) ya que solo union implicitamente selecciona solo los valores distintos

Etiquetas: campos, csv, perdida, query, registros, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:13.