Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/01/2016, 15:59
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, 5 meses
Puntos: 2658
Respuesta: importar a una bd desde php

Cita:
lo cierto es que se me estan triplicando los registros de la bd...no se que falla
Pues lo que falla es simple: LOAD DATA ... REPLACE es un comando sumamente peligroso, el cual se debe usar únicamente si tienes la absoluta seguridad de que los datos que se insertan NO EXISTEN en la tabla destino. Esto implica que entre los campos debe existir al menos uno que se corresponda con la clave primaria de la tabla destino.
SI los datos que se insertarán no pueden con sus propios valores, autoexlcuirse de la inserción, por violar una constraint en tabla, entonces el método NO SIRVE.

¿Se entiende?

La BBDD no funciona por telepatía. Sólo puede evaluar restricciones establecidas de forma específica, para asegurar que los datos sean consistentes, y es obvio que tu fuente de datos no las provee.

Usualmente en casos como ese lo que se hace es cargar todos los datos a una tabla transaccional temporal, usando el LOAD DATA, y luego ejecutar procesos específicos para normalizar y validar los datos antes de insertarlos en sus tablas destino finales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)