Mysql
 sql >> Base de données >  >> RDS >> Mysql

Déclencheur MySQL avec instruction SELECT

Selon la norme MySQL, la bonne façon de gérer cela serait la commande SIGNAL pour renvoyer une erreur au client. puisqu'il s'agit d'un déclencheur AVANT, une erreur dans le déclencheur empêchera mysql de continuer et d'insérer la ligne.

Cependant, mysql ne prend pas encore en charge SIGNAL, nous devons donc trouver un moyen de provoquer une erreur arbitraire.

Une façon de faire est d'appeler une procédure inexistante, comme démontré ici .

Une meilleure idée serait de supprimer les droits INSERT de cette table et d'utiliser à la place une procédure stockée pour gérer l'insertion pour vous.