sql >> Base de Datos >  >> RDS >> Mysql

Desencadenador de MySQL con sentencia SELECT

De acuerdo con el estándar MySQL, la forma correcta de manejar esto sería el comando SIGNAL para devolver un error al cliente. dado que este es un disparador ANTES, un error en el disparador evitará que mysql avance e inserte la fila.

Sin embargo, mysql aún no es compatible con SIGNAL, por lo que tenemos que encontrar una forma de causar un error arbitrario.

Una forma de hacer esto es LLAMAR a un procedimiento inexistente, como se demuestra aquí .

Una mejor idea sería eliminar los derechos de INSERCIÓN de esta tabla y, en su lugar, usar un procedimiento almacenado para manejar la inserción por usted.