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

[SOLUCIONADO] saber si se actualizo un campo en una tabla

Estas en el tema de saber si se actualizo un campo en una tabla en el foro de Mysql en Foros del Web. Hola.tengo una tabla de 4 campos si le hago un update y luego quiero saber cuantas filas se actualizaron hago un mysql afected rows y ...
  #1 (permalink)  
Antiguo 11/08/2015, 19:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
saber si se actualizo un campo en una tabla

Hola.tengo una tabla de 4 campos si le hago un update y luego quiero saber cuantas filas se actualizaron hago un mysql afected rows y obtengo la cantidad de filas afectadas pero si deseo saber si se actualizo o no uno de los 4 campos de la tabla y saber cual como lo hago?
  #2 (permalink)  
Antiguo 11/08/2015, 19:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: saber si se actualizo un campo en una tabla

No hay forma. Ni modo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/08/2015, 09:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: saber si se actualizo un campo en una tabla

Gracias por responder, ni modo al menos con mysql quedo cruzado de manos tal parece, voy a intentar usando php y recorriendo cada campo en un array y comparando el campo con una variable y si coinsiden se consideraria actualizado y si no pus no... pronto estare mostrando los resultados
Un saludo a todos y muchas gracias..!!!
  #4 (permalink)  
Antiguo 12/08/2015, 09:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: saber si se actualizo un campo en una tabla

El problema radica en que no existen eventos sobre columnas en las BBDD, que puedas usar para detectar cambios en algún campo de un registro cualquiera. Solo existen sobre tabla, que se usan para los TRIGGER y no aplican a tu caso.
De hecho, no conozco recursos de ningún tipo, en ningún DBMS que pueda hacer lo que quieres, porque requeriría que el sistema realizase un seguimiento de todo lo que ocurre en cada campo de cada tabla de cada base del servidor. Algo completamente impráctico.
Imagínate una base de datos empresarial: 960 tablas en un sólo esquema de los muchos que posea, las cuales tienen una media de 50 columnas. Serían 48.000 columnas.
¿Te imaginas la perdida de performance que tendría el servidor si debiese controlar los cambios que se realicen en cualquiera de ellas?
Sólo el redo segment sería un espanto.

usualmente lo que suele hacerse para implementar lo que quieres es algún sistema de log (file o tabla), donde se almacena una copia de la petición y/o llamada a SP de la base que realice los cambios. Considerando que la cantidad de llamados para escritura es siempre ostensiblemente menor que la de lecturas, es más simple y con menos complicaciones manejar la trazabilidad de cambios por medio de logs, que intentar hacer un seguimiento de las tablas en la base.

¿Se entiende la idea?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 16/09/2015, 19:02
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: saber si se actualizo un campo en una tabla

Saludos de hecho tuve que enseñarle tu respuesta ami jefe para que me creyera ya que me recrimino diciendo que todo se puede hacer teniendo la logica correcta....
  #6 (permalink)  
Antiguo 16/09/2015, 19:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: saber si se actualizo un campo en una tabla

que no existen los triggers DDL en mysql???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 16/09/2015, 20:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: saber si se actualizo un campo en una tabla

Yo no dije que no existan los triggers en MySQL, sino que no son una buena idea para lo que proyecta hacer, por la perdida de performance que se generaría con un seguimiento de cambios de cada columna, en cada tabla, de cada base.
La trazabilidad genérica de cambios de datos es una ilusión de todos los jefes de sistemas, pero a la hora de la verdad, solo tiene sentido el seguimiento de los datos críticos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 16/09/2015, 21:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: saber si se actualizo un campo en una tabla

Lo que mi jefe quería era control total para sentar reponsabilidades y saber que tenia el campo en cuestion antes se ser modificado lo que hice fue usar trigguer para ofrecer una bitácora
pura vida muchas gracias
  #9 (permalink)  
Antiguo 17/09/2015, 11:54
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: saber si se actualizo un campo en una tabla

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Yo no dije que no existan los triggers en MySQL, sino que no son una buena idea para lo que proyecta hacer, por la perdida de performance que se generaría con un seguimiento de cambios de cada columna, en cada tabla, de cada base.
La trazabilidad genérica de cambios de datos es una ilusión de todos los jefes de sistemas, pero a la hora de la verdad, solo tiene sentido el seguimiento de los datos críticos.
Tienes mucha razon mi estimado, aqui seria buscar cuales serian las tablas sensibles y hacer la bitacora de cambios sobre estas no sobre todas las bases.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, sql, tabla, update
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 13:36.