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

CSV a mysql

Estas en el tema de CSV a mysql en el foro de Bases de Datos General en Foros del Web. Hola, la verdad no programo en php, lo mio es vb 6.0 pero me encargaron vincular un sistema con base en dbf a mysql, el ...
  #1 (permalink)  
Antiguo 07/11/2009, 07:51
 
Fecha de Ingreso: abril-2008
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
CSV a mysql

Hola, la verdad no programo en php, lo mio es vb 6.0 pero me encargaron vincular un sistema con base en dbf a mysql, el servidor mysql no permite coneciones remotas por eso muero en php.
Es un carrito de compras que tiene que cargar los codigos que no existan en mysql y los codigos q existan modificarles el precio, esto temporizado.

La idea es subir un archivo csv a un directorio y ejecutar un script php. Ya esta el servicio que crea el csv del dbf, lo sube al ftp y ejecuta el scrip.

Mi duda: Estoy programando el script php, ya recorro todas las lineas del cvs, identifico cada campo y creo la sentencia sql. Necesito chequear si el codigo de la linea del cvs que estoy leyendo existe para crear la sentencia si existe modificar el registro y sino existe insertarlo.

Pero si yo ejecuto una consulta a mysql por cada vuelta del bucle no se colgara, seria la mejor manera? Ven otra opcion?

Saludos
  #2 (permalink)  
Antiguo 09/11/2009, 06:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: CSV a mysql

Si el codigo és clave principal o indice unico en la tabla mysql, luego puedes lanzar el insert y el update, no se si es muy eficiente pero sencillo lo es....

Mandas un INSERT solo con el codigo, si ya esta no tendrá ningun efecto y seguidament el update, si ya estaba se actualizara si no estaba tambien (2 consultas)

La alternativa és mirar primero si esta, si esta actualizar y si no insertar, en los dos casos 2 consultas.

Creo que son muy equivalentes .... la más sencilla seguro que es la primera.


Quim
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 08:09.