PDA

Ver la Versión Completa : Datos.txt a Tabla1


pruz
14-07-2008, 21:16:28
hola amigos:

La siguiente sentencia me carga un archivo .TXT a la tabla1:

Load data infile 'datos.txt' INTO TABLE tabla1
Fields terminated by ',' enclosed by ''
lines terminated by \n'


pero solo necesito que cargue aquellos que no estan en la tabla y no los que ya existen:

como lo hago...gracias

felipe88
14-07-2008, 21:35:48
Y no seria mejor si primero "trabajas" el archivo de texto antes de cargarlo?, esto lo haces desde tu aplicacion me imagino...

pruz
14-07-2008, 21:40:40
No Resulta que via email me envia la informacion, y no sabemos si lo que nos enviaron ya lo enviaron antes...

felipe88
14-07-2008, 21:53:54
No Resulta que via email me envia la informacion, y no sabemos si lo que nos enviaron ya lo enviaron antes...

Y tal cual va directo a la BD :confused:... porque de no ser asi, seria mas facil desde la aplicacion con una rutina que compare los datos de la tabla con los del archivo de texto :rolleyes:

roman
14-07-2008, 22:52:48
Si estás usando MySQL, lo que yo haría es armar una consulta INSERT INTO con los datos que te envían (puedes insertar mútiples registros con una sóla consulta). La sentencia INSERT puedes modificarla con IGNORE que te permite ignorar registros que repitan una clave única, con lo cual evitarías insertar nuevos registros, siempre y cuando, claro, tengas una llave única.

También puedes usar la opción ON DUPLICATE KEY de la sentencia INSERT para no sólo ignorar los repetidos sino actualizar datos en caso de que se encuentre una llave repetida.

// Saludo

carnace
15-07-2008, 00:02:46
Puedes primero subir los datos a una tabla temporal, luego ejecutas una consulta para ver los que no están y por último ejecutas una consulta INSERT INTO.

Salu2.