Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/09/2011, 11:44
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: 17 años
Puntos: 2658
Respuesta: LOAD DATA INFILE me deja campos en blanco

Cuando dice "descartar" un valor de entrada significa que el dato que entra por medio del LOAD DATA no se almacenará en la tabla, no está hablando de que recupere el valor que ya exista en a tabla para rescatarlo y volverlo a guardar.
Acá lo importante es lo que el manual de referencia expresa sobre el REPLACE en el LOAD DATA:
Cita:
Si especifica REPLACE, los registros de entrada reemplazan registros existentes (en otras palabras, los registros que tienen el mismo valor para una clave primaria o única que un registro existente)
Y sobre el REPLACE:
Cita:
REPLACE funciona exactamente como INSERT, excepto que si un valor de la tabla tiene el mismo valor que un nuevo registro para un índice PRIMARY KEY o UNIQUE , el antiguo registro se borra antes de insertar el nuevo.
Cita:
Los valores para todas las columnas se toman de los valores especificados en el comando REPLACE. Cualquier columna no presente adquiere su valor por defecto, como ocurre con INSERT. No puede referirse a valores del registro actual y usarlos en el nuevo registro.
Ese es el corazón del problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)