Maison >base de données >tutoriel mysql >Déclencheur MySQL UPDATE (mise à jour) et déclencheur d'analyse approfondie

Déclencheur MySQL UPDATE (mise à jour) et déclencheur d'analyse approfondie

巴扎黑
巴扎黑original
2017-05-19 15:22:278939parcourir

Déclencheur UPDATE

Le déclencheur UPDATE s'exécute avant ou après l'exécution de l'instruction UPDATE. Vous devez connaître les points suivants :

1. Dans le code du déclencheur UPDATE, vous pouvez vous référer à une table virtuelle nommée OLD pour accéder à la valeur précédente (avant l'instruction UPDATE), reportez-vous à un nom Accédez à la valeur nouvellement mise à jour pour la table virtuelle de NEW ;

2 Dans le déclencheur BEFORE UPDATE, la valeur dans NEW peut également être mise à jour (permettant d'utiliser les modifications de la valeur dans l'instruction UPDATE) ;

Les valeurs dans 3.OLD sont toutes en lecture seule et ne peuvent pas être mises à jour.

L'exemple suivant garantit que les abréviations d'état sont toujours en majuscules (que les majuscules ou les minuscules soient indiquées dans l'instruction UPDATE) :

Entrée :

create trigger updatevendor before update on vends for each row set new.vend_state = upper(new.vend_state);

Analyse : Évidemment, toute désinfection des données doit être effectuée avant l'instruction UPDATE, comme dans cet exemple. Chaque fois qu'une ligne est mise à jour, la valeur dans NEW.vend_state (la valeur qui sera utilisée pour mettre à jour la ligne du tableau) est remplacée par Upper(NEW.vend_state).


Introduction plus approfondie aux déclencheurs

Avant de terminer ce chapitre, nous en présenterons davantage sur l'utilisation des déclencheurs. Points importants à retenir lors de l'utilisation de l'appareil.

1. Par rapport à d'autres SGBD, les déclencheurs pris en charge dans MySQL 5 sont assez rudimentaires. Il est prévu d'améliorer et d'améliorer la prise en charge des déclencheurs dans les futures versions de MySQL.

2. La création de déclencheurs peut nécessiter un accès de sécurité spécial, cependant, l'exécution du déclencheur est automatique. Si l'instruction INSERT, UPDATE ou DELETE peut s'exécuter, le déclencheur associé peut également s'exécuter.

3. Des déclencheurs doivent être utilisés pour garantir la cohérence des données (cas, format, etc.). L’avantage d’effectuer ce type de traitement dans un déclencheur est qu’il se produit toujours et s’effectue de manière transparente, quelle que soit l’application cliente.

4. Une utilisation très significative des déclencheurs consiste à créer des pistes d'audit. À l'aide de déclencheurs, il est très facile d'enregistrer les modifications (et même le statut avant et après si nécessaire) dans une autre table.

5. Malheureusement, l'instruction CALL n'est pas prise en charge dans les déclencheurs MySQL. Cela signifie que les procédures stockées ne peuvent pas être appelées à partir de déclencheurs. Le code de procédure stockée requis doit être copié dans le déclencheur.

[Recommandations associées]

1. Tutoriel vidéo gratuit MySQL

2 Explication détaillée de l'utilisation du déclencheur de suppression MySQL (suppression)

3. Explication détaillée du déclencheur d'insertion (insertion) dans MySQL

4 Introduction aux déclencheurs MySQL et comment créer et supprimer des déclencheurs<.>

5.

Tutoriel sur les jeux de caractères MySQL et l'ordre de relecture

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn