Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Datos.txt a Tabla1 (https://www.clubdelphi.com/foros/showthread.php?t=58269)

pruz 14-07-2008 21:16:28

Datos.txt a Tabla1
 
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

Cita:

Empezado por pruz (Mensaje 300465)
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.


La franja horaria es GMT +2. Ahora son las 16:06:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi