Maison > Article > base de données > Comment modifier le définisseur dans MySQL
Méthode de modification : 1. Utilisez "update mysql.proc set definition=..." pour modifier le définisseur de la fonction ; 2. Utilisez "update mysql.EVENT set definition=..." pour modifier le définisseur de l'événement. .
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
1. Modifier le définisseur de fonction et de procédure
select definer from mysql.proc; -- 函数、存储过程 update mysql.proc set definer=‘user@localhost‘; -- 如果有限定库或其它可以加上where条件
2 Modifier le définisseur d'événement
select DEFINER from mysql.EVENT; -- 定时事件 update mysql.EVENT set definer=‘ user@localhost ‘;
3. la modification de la fonction, il y a quelques problèmes :
select DEFINER from information_schema.VIEWS; select concat("alter DEFINER=`user`@`localhost` SQL SECURITY DEFINER VIEW ",TABLE_SCHEMA,".",TABLE_NAME," as ",VIEW_DEFINITION,";") from information_schema.VIEWS where DEFINER<>‘user@localhost‘;Il suffit d'exécuter à nouveau l'instruction interrogée.
4. Modifier le définisseur du déclencheur
Il n'existe actuellement aucune méthode spécifique et pratique Vous pouvez utiliser des outils tels que HeidiSQL, sqlyog, etc. pour les modifier un par un. Notez qu'il est nécessaire de verrouiller la table avant d'apporter des modifications, car si elle est déclenchée par des modifications dans d'autres tables au cours du processus de modification, cela entraînera une incohérence des données.
Apprentissage recommandé :Tutoriel vidéo mysql
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!