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

[SOLUCIONADO] Load Data Local Infile reemplaza Null por Cero

Estas en el tema de Load Data Local Infile reemplaza Null por Cero en el foro de Mysql en Foros del Web. Buenas tardes, Estoy subiendo datos a una tabla con el siguiente comando: LOAD DATA LOCAL INFILE './tmp/proc.$archivo' INTO TABLE Estadisticas.INT_30m FIELDS TERMINATED BY ',' LINES ...
  #1 (permalink)  
Antiguo 26/08/2015, 15:02
 
Fecha de Ingreso: enero-2013
Mensajes: 64
Antigüedad: 9 años, 5 meses
Puntos: 0
Load Data Local Infile reemplaza Null por Cero

Buenas tardes,

Estoy subiendo datos a una tabla con el siguiente comando:

LOAD DATA LOCAL INFILE './tmp/proc.$archivo' INTO TABLE Estadisticas.INT_30m FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; "

Pero el problema está en que algunas filas que no tienen datos, osea NULL, a la BD lo reemplaza con 0 cero; y eso es importante, ya que para mi es importante si da 0 ó NULL

Ejemplo:

archivo csv:
10,11,12,,14,15

BD:
10 11 12 0 14 15

Alguien me pude guiar con eso?

Muchas gracias, saludos.

PD: las columnas soportan null

Saludos.
  #2 (permalink)  
Antiguo 26/08/2015, 16:06
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 15 años, 10 meses
Puntos: 774
Respuesta: Load Data Local Infile reemplaza Null por Cero

te recomiendo que cargues los datos a una tabla de transicion, una ves que los tengas ahi entonces puedes hacer un cast al valor que necesitas ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 26/08/2015, 16:10
 
Fecha de Ingreso: enero-2013
Mensajes: 64
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Load Data Local Infile reemplaza Null por Cero

Muchas gracias.

Estoy utilizando el siguiente codigo, pero me esta generando unos errores. Voy a intentar solucionarlo.

LOAD DATA LOCAL INFILE './tmp/proc.$archivo'
INTO TABLE Estadisticas.INT_30m
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
(@TIME, @RNC, @Periodo, @INT, @VS_INT_CFG_INTERWORKING_FAIL_NUM, @VS_INT_CFG_INTERWORKING_NUM, @VS_INT_CPULOAD_LESS, @VS_INT_CPULOAD_MAX, @VS_INT_CPULOAD_MEAN, @VS_INT_CPULOAD_OVER, @VS_INT_TRANSLOAD_RATIO_MAX, @VS_INT_TRANSLOAD_RATIO_MEAN)
SET
VS_INT_CFG_INTERWORKING_FAIL_NUM = IF(@VS_INT_CFG_INTERWORKING_FAIL_NUM ='', NULL, @VS_INT_CFG_INTERWORKING_FAIL_NUM),
VS_INT_CFG_INTERWORKING_NUM = IF(@VS_INT_CFG_INTERWORKING_NUM = '', NULL, @VS_INT_CFG_INTERWORKING_NUM),
VS_INT_CPULOAD_LESS = IF(@VS_INT_CPULOAD_LESS = '', NULL, @VS_INT_CPULOAD_LESS),
VS_INT_CPULOAD_MAX = IF(@VS_INT_CPULOAD_MAX = '', NULL, @VS_INT_CPULOAD_MAX),
VS_INT_CPULOAD_MEAN = IF(@VS_INT_CPULOAD_MEAN = '', NULL, @VS_INT_CPULOAD_MEAN),
VS_INT_CPULOAD_OVER = IF(@VS_INT_CPULOAD_OVER = '', NULL, @VS_INT_CPULOAD_OVER),
VS_INT_TRANSLOAD_RATIO_MAX = IF(@VS_INT_TRANSLOAD_RATIO_MAX = '', NULL, @VS_INT_TRANSLOAD_RATIO_MAX),
VS_INT_TRANSLOAD_RATIO_MEAN = IF(@VS_INT_TRANSLOAD_RATIO_MEAN = '', NULL, @VS_INT_TRANSLOAD_RATIO_MEAN)
  #4 (permalink)  
Antiguo 26/08/2015, 16:15
 
Fecha de Ingreso: enero-2013
Mensajes: 64
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Load Data Local Infile reemplaza Null por Cero

Solucionado!

LOAD DATA LOCAL INFILE './tmp/proc.$archivo'
INTO TABLE Estadisticas.INT_30m
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
(TIME, RNC, Periodo, INT, @VS_INT_CFG_INTERWORKING_FAIL_NUM, @VS_INT_CFG_INTERWORKING_NUM, @VS_INT_CPULOAD_LESS, @VS_INT_CPULOAD_MAX, @VS_INT_CPULOAD_MEAN, @VS_INT_CPULOAD_OVER, @VS_INT_TRANSLOAD_RATIO_MAX, @VS_INT_TRANSLOAD_RATIO_MEAN)
SET
VS_INT_CFG_INTERWORKING_FAIL_NUM = IF(@VS_INT_CFG_INTERWORKING_FAIL_NUM ='', NULL, @VS_INT_CFG_INTERWORKING_FAIL_NUM),
VS_INT_CFG_INTERWORKING_NUM = IF(@VS_INT_CFG_INTERWORKING_NUM = '', NULL, @VS_INT_CFG_INTERWORKING_NUM),
VS_INT_CPULOAD_LESS = IF(@VS_INT_CPULOAD_LESS = '', NULL, @VS_INT_CPULOAD_LESS),
VS_INT_CPULOAD_MAX = IF(@VS_INT_CPULOAD_MAX = '', NULL, @VS_INT_CPULOAD_MAX),
VS_INT_CPULOAD_MEAN = IF(@VS_INT_CPULOAD_MEAN = '', NULL, @VS_INT_CPULOAD_MEAN),
VS_INT_CPULOAD_OVER = IF(@VS_INT_CPULOAD_OVER = '', NULL, @VS_INT_CPULOAD_OVER),
VS_INT_TRANSLOAD_RATIO_MAX = IF(@VS_INT_TRANSLOAD_RATIO_MAX = '', NULL, @VS_INT_TRANSLOAD_RATIO_MAX),
VS_INT_TRANSLOAD_RATIO_MEAN = IF(@VS_INT_TRANSLOAD_RATIO_MEAN = '', NULL, @VS_INT_TRANSLOAD_RATIO_MEAN)

Etiquetas: cero, data, infile, load, local, null, 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 17:58.