Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec mon trigger sur mysql

    18 mai 2011 à 10:56:26

    Bonjour à tous,

    J'ai crée un trigger sur Mysql qui supprime tout simplement un message une fois qu'il a était supprimé par le destinataire et celui qui l'a envoyé. Le code s'exécute sans problème sur Mysql:
    CREATE TRIGGER supression_message
    AFTER UPDATE ON message
    FOR EACH ROW 
    BEGIN 
    	DELETE FROM message
    	WHERE visibleParEnseignant = 0
    	AND visibleParEleve = 0;
    END
    


    En gros le trigger doit se déclencher à chaque fois qu'une personne supprime le message. Dès c'est supprimé des deux cotés on supprime de la Base de données le message.
    Mais ce trigger ne supprime rien :( et en plus dès qu'on fait un UPDATE sur la table message il me fait rentrer dans la fonction DIE lorsque j'exécute mysql_query.

    Et au passage est-il possible de créer un trigger qui se déclenche automatiquement par exemple chaque soir à 20h ?

    Merci de m'aider !
    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2011 à 11:12:51

      Déjà est ce que tu a vérifié que ton trigger été correctement créer, parce que mysql et les triggers c'est pas top.
      Tu le crée dans du php ou alors dans phpmyadmin ou quelque chose du genre?
      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2011 à 11:19:57

        Alors j'ai exécuté la commande dans Mysql, et avec SHOW TRIGGERS je vois bien mon trigger dans la liste.
        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2011 à 11:24:29

          Citation

          Citation : akojy

          il me fait rentrer dans la fonction DIE lorsque j'exécute mysql_query



          Tu peux préciser ce qu'il se passe?
          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2011 à 14:02:14

            Un exemple de mon code :
            <?php
            $sql = "UPDATE message
                    SET visibleParEnseignant = 0
                    WHERE numMessage IN ($messageAsupp)";
            
            	mysql_query($sql, $link) or die('erreur dans la requête de suppression');
            ?>
            


            Lorsque l'utilisateur veut supprimer le message de son historique, ce script est éxécuté, bizzarement quand le trigger est dans la base de données, on rentre dans le DIE même si le script a fonctionné (car la modification apparait dans la base de données).
            • Partager sur Facebook
            • Partager sur Twitter
              23 mai 2011 à 10:02:56

              personne a une solution svp ?
              • Partager sur Facebook
              • Partager sur Twitter
                23 mai 2011 à 11:32:20

                Affiche le vrai message d'erreur renvoyé par mysql_error()...
                • Partager sur Facebook
                • Partager sur Twitter

                Problème avec mon trigger sur mysql

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown