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

Evitar que se ejecute un trigger

Estas en el tema de Evitar que se ejecute un trigger en el foro de Mysql en Foros del Web. Hola Buenas, Quisiera saber como se puede evitar que se ejecute un trigger de una tabla lo que pasa esque tengo 3 tablas hotel ,hotelplaya,hotelmontaña ...
  #1 (permalink)  
Antiguo 23/03/2012, 21:45
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
Evitar que se ejecute un trigger

Hola Buenas,


Quisiera saber como se puede evitar que se ejecute un trigger de una tabla lo que pasa esque tengo 3 tablas hotel ,hotelplaya,hotelmontaña

y tengo un trigger hecho en hotel , hotel contiene los siguientes campos (id,nombre,categoria,tipo) en donde el tipo sera hotelplaya o hotelmontaña y eso es lo hace el trigger detectar el tipo y hacer el insert en hotelplaya o hotelmontaña

a parte de eso se puede hacer insert en hotelplaya tambien y que cuando se haga insert en hotelplaya que me haga un insert en hotel con el mismo nombre pero con categoria 0 y he aqui mi duda lo que pasa esque me salia un error
este :
ERROR 1442 (HY000): Can't update table 'hotelplaya' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

y es porque la tabla hotel tiene un trigger tambien que se lanza cuando hago un insert

que a su vez es lo que hace mi trigger de la tabla hotelplaya hacer un insert en la tabla hotel con la categoria a 0 y con el mismo producto pero no se puede realizar la acción porque cuando hago mi trigger en hotelplaya se lanza el otro trigger el del insert en hotel y

esa es mi duda como puedo evitar que se lance el trigger de hotel cuando hago un registro en hotelplaya ?????

Gracias , xD perdon si no se entiende!

Etiquetas: trigger
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 22:11.