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

Actualizar registro en Base de datos - phpmyadmin

Estas en el tema de Actualizar registro en Base de datos - phpmyadmin en el foro de Bases de Datos General en Foros del Web. tengo una tabla 'clientes' la cual ya posee 200 registros. en esta tabla deseo importar 400 registros, lo cual puedo importarlo por una tabla en ...
  #1 (permalink)  
Antiguo 08/09/2015, 11:04
 
Fecha de Ingreso: septiembre-2015
Mensajes: 2
Antigüedad: 8 años, 7 meses
Puntos: 0
Actualizar registro en Base de datos - phpmyadmin

tengo una tabla 'clientes' la cual ya posee 200 registros.
en esta tabla deseo importar 400 registros, lo cual puedo importarlo por una tabla en excel
guardado como tipo: cvs. Hasta aca todo bien.

De los 400 registros existen nuevos clientes y clientes que ya estan en la tabla 'cliente' de la BD, pero con información desactualizada.

entonces como hago, para que importe los nuevos clientes y actualice la información de
los ya existentes en la tabla?

ya que si me pondria a revisar cuales debo actualizar me va llevar mucho tiempo.


según me dijeron que debo crear un método por medio de webservice. pero no tengo idea.

Graciass
  #2 (permalink)  
Antiguo 08/09/2015, 11:34
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Actualizar registro en Base de datos - phpmyadmin

exportas tus datos en un excel a una tabla de transicion, ya con los datos en esa tabla comparas con tu tabla primaria, los id's que ya existan los actualizas los que no los insertas y listo :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 08/09/2015, 11:36
 
Fecha de Ingreso: enero-2013
Mensajes: 176
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Buen días,

Lo primero es revisar si tienen algun campo unico??? es decir RFC, CURP?

Si tuvieras algun campo de esos podrías hacer un recorrido con un cursor en bd para ir comparando si existe registro por registro en caso de que no lo insertas, si existe lo actualizas!

Si no tienes un campo unico ups tendras una larga y tediosa tarea,

tendras que ir haciendo consultas para depurar, me explico:

- Crear una consulta donde los nombres sean iguales.
- Si no compara telefonos, o comparar domicilios, etc etc.

si comparas cadenas has uso de COLLATE en base a lo que necesites, si quieres que omita acentos, mayúsculas, minúsculas etc..

Código SQL:
Ver original
  1. SELECT Nombre, ApellidoPaterno, ApellidoMaterno
  2. FROM Empleados
  3. WHERE ApellidoPaterno LIKE '%' + @Valor +'%' COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI
[/CODE]
__________________
Define tus intereses, se curioso, investiga, comete errores, aprende, practica, mejora, enseña y vuelve a comenzar....

Última edición por gnzsoloyo; 08/09/2015 a las 12:28
  #4 (permalink)  
Antiguo 08/09/2015, 11:50
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Cita:
Iniciado por Paty_RR Ver Mensaje
Buen días,

Lo primero es revisar si tienen algun campo unico??? es decir RFC, CURP?

Si tuvieras algun campo de esos podrías hacer un recorrido con un cursor en bd para ir comparando si existe registro por registro en caso de que no lo insertas, si existe lo actualizas!

Si no tienes un campo unico ups tendras una larga y tediosa tarea,

tendras que ir haciendo consultas para depurar, me explico:

- Crear una consulta donde los nombres sean iguales.
- Si no compara telefonos, o comparar domicilios, etc etc.

si comparas cadenas has uso de COLLATE en base a lo que necesites, si quieres que omita acentos, mayúsculas, minúsculas etc..
Código:
SELECT Nombre, ApellidoPaterno, ApellidoMaterno
FROM Empleados
WHERE ApellidoPaterno LIKE '%' + @Valor +'%' COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI
Para que un cursor?? si puedes hacerlo con un left join
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 08/09/2015, 11:56
 
Fecha de Ingreso: enero-2013
Mensajes: 176
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Cita:
Iniciado por Libras Ver Mensaje
Para que un cursor?? si puedes hacerlo con un left join

Y si no tiene un ID en el archivo CVS????
__________________
Define tus intereses, se curioso, investiga, comete errores, aprende, practica, mejora, enseña y vuelve a comenzar....
  #6 (permalink)  
Antiguo 08/09/2015, 12:04
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Actualizar registro en Base de datos - phpmyadmin

tienes que tener un campo para poder decir si esta repetido o no, si no usas id puedes usar el nombre, el estado, lo que necesites, y hacer las comparaciones usando un left join, con que tengas un campo en comun puedes hacer la union :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 08/09/2015, 12:20
 
Fecha de Ingreso: enero-2013
Mensajes: 176
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Cita:
Iniciado por Libras Ver Mensaje
tienes que tener un campo para poder decir si esta repetido o no, si no usas id puedes usar el nombre, el estado, lo que necesites, y hacer las comparaciones usando un left join, con que tengas un campo en comun puedes hacer la union :)
Si libras,

Pero los nuevos registros a insertar no deben tener ID estas de acuerdo??

Y si no sabe como diferenciar entre los nuevos y los actualizados entonces significa que desconoce los IDs, bueno asi lo supuse yo jaja..


Y si mientras haya un campo en común...

Pero que pasa si yo tengo muchos "Pedros Rodriguez" o muchos "Arturos Sanchéz"

Esa opción que di es solo si llegara el caso en no tener algun ID conocido ;)

De lo contrario si tan facil y sencillo como usar joins :P
__________________
Define tus intereses, se curioso, investiga, comete errores, aprende, practica, mejora, enseña y vuelve a comenzar....
  #8 (permalink)  
Antiguo 08/09/2015, 12:26
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Entonces tu base de datos esta mal, tienes que tener un campo para distinguir si es nuevo o viejo, ya se la fecha o algun otro campo para distinguir, en el caso que planteas, como me doy cuenta si no tengo ninguno?? aunque hagas el recorrido registro contra registro con que lo comparo???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 08/09/2015, 12:30
 
Fecha de Ingreso: enero-2013
Mensajes: 176
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Exacto!

Pues si la BD esta super mal diseñada (pero si nosotros no la diseñamos, a veces solo toca retomar sistemas)...

Pero a mi me a pasado :( por experiencia propia no homologan a tiempo nada ni cambiar la estructura cuando el sistema va creciendo y caen en estos pésimos errores y solo quieren que hagas magia!


Me paso en dos trabajos...

Pero bueno yo solo comento por que me gusta considerar todas las posibilidades...

Solo falta que JGGJ conteste como es su situación jaja
__________________
Define tus intereses, se curioso, investiga, comete errores, aprende, practica, mejora, enseña y vuelve a comenzar....
  #10 (permalink)  
Antiguo 08/09/2015, 15:28
 
Fecha de Ingreso: septiembre-2015
Mensajes: 2
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Muchas Gracias, Libras y Paty_RR, por tomarse el tiempo.

Lo que identificaría a cada cliente es la columna "Codigo"



digamos que debería ir un método que : "Si el cliente existe, deberá actualizar la información y si no pues lo va a insertar. Sin alterar el "id" de la Base de datos.
  #11 (permalink)  
Antiguo 09/09/2015, 07:42
 
Fecha de Ingreso: enero-2013
Mensajes: 176
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Actualizar registro en Base de datos - phpmyadmin

Asi es...


Solo deberías de leer sobre los JOINS, (inner join, left joint, right join) y ver cual te sirve para cada situacion (si existe, si no existe)


Saludos!
__________________
Define tus intereses, se curioso, investiga, comete errores, aprende, practica, mejora, enseña y vuelve a comenzar....

Etiquetas: phpmyadmin, registro, registros, tabla
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 14:01.