eventos en base de datos

22/09/2006 - 16:26 por Vicente García | Informe spam
hola,

Estoy trabajando en un proyecto y desde una aplicación en visual basic .net
tengo que controlar cuando se insertan nuevos datos en una tabla de una base
de datos mysql, una opción es hacer un SELECT cada un determinado tiempo,
pero ¿alguien podría decirme si existe alguna manera de saber cuando se ha
cambiado algo en la tabla sin tener que hacer continuamente SELECT?

muchísimas gracias!!!

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
22/09/2006 - 16:37 | Informe spam
"Vicente García" wrote in message
news:%
Estoy trabajando en un proyecto y desde una aplicación en visual basic
.net tengo que controlar cuando se insertan nuevos datos en una tabla de
una base de datos mysql, una opción es hacer un SELECT cada un determinado
tiempo, pero ¿alguien podría decirme si existe alguna manera de saber
cuando se ha cambiado algo en la tabla sin tener que hacer continuamente
SELECT?



No sé si MySql soporta Triggers, pero si los tiene puedes hacer algo
parecido a lo que hace .Net con SqlServer cuando se activa la detección de
cambios en base de datos:
Lo que hace es que crea triggers de inserción, modificación y borrado
sobre la tabla a monitorizar, y cada vez que se disparan (indicando que ha
habido un cambio en esa tabla), cambian un dato en un registro de una
pequeña tabla auxiliar que se usa solo para eso.
El programa hace periódicamente un SELECT sobre ese pequeño registro de
esa pequeña tabla, y examina el campo para ver si la tabla ha sido
modificada desde la última vez. Esto es mucho más rápido que hacer el Select
sobre la tabla grande buscando en todos los registros para ver si alguno ha
cambiado.
Respuesta Responder a este mensaje
#2 Vicente García
22/09/2006 - 21:51 | Informe spam
Muchísimas gracias, no sabía lo que eran los triggers pero ya me he enterado
que Mysql lo soporta a partir de la versión 5.0.2...lástima que yo utilice
la 4 jeje. Pero al menos ahora ya sé que existe
Saludos!!


"Alberto Poblacion"
escribió en el mensaje news:%
"Vicente García" wrote in message
news:%
Estoy trabajando en un proyecto y desde una aplicación en visual basic
.net tengo que controlar cuando se insertan nuevos datos en una tabla de
una base de datos mysql, una opción es hacer un SELECT cada un
determinado tiempo, pero ¿alguien podría decirme si existe alguna manera
de saber cuando se ha cambiado algo en la tabla sin tener que hacer
continuamente SELECT?



No sé si MySql soporta Triggers, pero si los tiene puedes hacer algo
parecido a lo que hace .Net con SqlServer cuando se activa la detección de
cambios en base de datos:
Lo que hace es que crea triggers de inserción, modificación y borrado
sobre la tabla a monitorizar, y cada vez que se disparan (indicando que ha
habido un cambio en esa tabla), cambian un dato en un registro de una
pequeña tabla auxiliar que se usa solo para eso.
El programa hace periódicamente un SELECT sobre ese pequeño registro de
esa pequeña tabla, y examina el campo para ver si la tabla ha sido
modificada desde la última vez. Esto es mucho más rápido que hacer el
Select sobre la tabla grande buscando en todos los registros para ver si
alguno ha cambiado.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida