Explico, planteo el problema y pongo el codigo que tengo.
Explicacion: Tengo 3 tablas, usuarios, muros, mensajes.
usuarios:
id_usuario | id_muro | otros_campos
mensajes:
id_mensaje | id_usuario | id_muro | otros_campos
muros:
id_muro | otros_campos
un usuario, puede ir conectandose a diferentes muros, salir de uno, entrar en otro o no estar en ninguno, cuando lo hace voy actualizando el id_muro del usuario para saber en que muro esta actualmente.
el usuario solo puede enviar mensajes al muro que esta actualmente conectado, es decir que si intenta mandar un mensaje a un muro y no esta conectado no deberia poder.
Problema:
Tengo un trigger before insert en la tabla mensajes, lo que quiero hacer es validar dentro del trigger si el tipo esta habilitado y sino, hacer explotar la consulta.
Logre que explote haciendo uso de un "bug" de mysql pero si en el futuro lo arreglan esta tecnica va a dejar de funcar, por lo que quiero algo que sea para esto si es que lo hay.
Codigo del trigger before insert de mensajes:
Código MySQL:
Ver original
-- Con este set el trigger exlota al no ocurrir la validacion. -- no se porque mysql permite poner el nombre de una variable no declarada -- supongo que es algun bug del parsing o algo -- pero aca me gustaria hacer explotar la consulta
Seria genial poder devolver algun codigo de error personalizado o algun texto mezclado con el error de mysql que despues pueda parsear o algo asi como para saber porque fallo, si es por la validacion o por otro error en los datos