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

[SOLUCIONADO] Cancelar Trigger after delete

Estas en el tema de Cancelar Trigger after delete en el foro de Mysql en Foros del Web. Buenas tardes, He buscado información sobre este problema en el foro, pero lo que yo quiero hacer es un tanto peculiar. Estoy usando la libreria ...
  #1 (permalink)  
Antiguo 13/05/2013, 06:45
marco911
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Cancelar Trigger after delete

Buenas tardes,
He buscado información sobre este problema en el foro, pero lo que yo quiero hacer es un tanto peculiar.

Estoy usando la libreria grucery crud en php y he creado un disparador (trigger).
Código:
DELIMITER $$


CREATE
TRIGGER `Baxter`.`alumnos_cursos_before_delete`
BEFORE DELETE ON`alumnos_cursos`
FOR EACH ROW
-- Edit trigger body code below this line. Do not edit lines above this one
BEGIN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'DELETE canceled'; 
END$$
Quiero que se cancele la acción de eliminar, y lo hace correctamente, pero yo no quiero que genere ningún mensaje de error, sino que simplemente omita la acción de eliminar, es eso posible?

Gracias
  #2 (permalink)  
Antiguo 13/05/2013, 07:22
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: Cancelar Trigger after delete

Cita:
Estoy usando la libreria grucery crud en php
Irrelevante. lo que uses en programación (sin imporar el lenguaje), no tiene relación con MySQL.
Dos observaciones:
1) Toda acción en MySQL genera una respuesta. Siempre. Que la omitas o anules programáticamente, no es asunto de la base de datos. Desde el momento en que estás generando una acción personalizada, deberías manejar la condición de tu respuesta para que la misma no te genere conflictos en la aplicación.
2) Si es un trigger AFTER delete, ¿por qué estás poniendo ese BEFORE en la declaración?
__________________
¿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 13/05/2013, 08:21
marco911
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cancelar Trigger after delete

Hola gnzsoloyo, gracias por responder. Me he equivocado en el titulo del post, es before delete.

Grucery crud lee lo que devuelve el mysql y no deja seguir usando la aplicacion si este devuelve un error. Puede generar una respuesta meramente informativa, como un notice?
  #4 (permalink)  
Antiguo 13/05/2013, 09:05
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: Cancelar Trigger after delete

Manual de referencia... manual de referencia...
Sintaxis de SIGNAL

SIGNAL, según entiendo, permite personalizar el error, pero el error siempre ocurrirá.
Lo que debes ver es cómo administrar ese error recibido en el framework para que la aplicación lo gestione de otro modo.
De todos modos, cuando trabajas con FMWK corres el riesgo siempre de que no cumplan con todo lo esperado... Habría que ver qué tanto soporta MySQL 5.5...
__________________
¿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 13/05/2013, 09:16
marco911
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cancelar Trigger after delete

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Manual de referencia... manual de referencia...
[URL="http://dev.mysql.com/doc/refman/5.5/en/signal.html"]Sintaxis de SIGNAL[/URL]

SIGNAL, según entiendo, permite personalizar el error, pero el error siempre ocurrirá.
Lo que debes ver es cómo administrar ese error recibido en el framework para que la aplicación lo gestione de otro modo.
De todos modos, cuando trabajas con FMWK corres el riesgo siempre de que no cumplan con todo lo esperado... Habría que ver qué tanto soporta MySQL 5.5...
Muchas gracias por tu interés, he asumido que lo que busco hacer desde mysql es imposible, voy a intentar solucionarlo desde php. Muchas gracias, puedes cerrar el tema. Un saludo

Etiquetas: cancelar, delete, php, sql, 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 01:57.