Partage
  • Partager sur Facebook
  • Partager sur Twitter

[phpmyadmin/mysql]Créer un trigger qui supprime

Sujet résolu
    2 septembre 2019 à 23:35:42

    hello 

    j'ai une table qui panier qui enregistre les articles

    et une table commande qui prends en comptes les commandes

    je souhaite qu'un trigger supprime du panier les produits commander quand ils sont dans le panier, 

    les triggers, je ne maîtrise pas encore

    j'ai créé ça qui ne fonctionne pas

    DELIMITER |
    CREATE TRIGGERS delete_from_panier_insert_in AFTER INSERT ON commandes FOR EACH ROW
    BEGIN
    DELETE FROM paniers WHERE EXISTS(SELECT id_article FROM cpaniers WHERE id_article=NEW.article AND id_client=NEW.client);
    END |

    du moins l'erreur est 

    #1064 - Erreur de syntaxe près de 'TRIGGERS delete_from_...

    • Partager sur Facebook
    • Partager sur Twitter
      3 septembre 2019 à 10:30:25

      Bonjour,

      C'est TRIGGER sans S ...

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        3 septembre 2019 à 13:27:01

        c'est aussi simple que ça :-°

        merci Benzouye

        mais j'obtiens cette erreur

        #1093 - You can't specify target table 'panier' for update in FROM clause 

        semblerait il qu'on ne puisse pas supprimer et faire un select mais comment faire?

        -
        Edité par born1 3 septembre 2019 à 13:55:59

        • Partager sur Facebook
        • Partager sur Twitter
          3 septembre 2019 à 14:00:21

          Là encore, pas beaucoup de recherche de ta part ...

          Je suppose que l'erreur vient de La syntaxe de ton DELETE. Tu utilises la même table dans le EXISTS que dans le DELETE ...

          Par simplicité je ferai plutôt :

          DELETE FROM paniers
          WHERE
              id_article=NEW.article
              AND id_client=NEW.client;

          Je fais mon pénible, mais vu les questions que tu poses sur le forum depuis quelques mois, il serait grand temps de te former à SQL. Suivre le cours MySQL (cf. ma signature) te ferait le plus grand bien ...

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            3 septembre 2019 à 14:24:55

            je sais que j'ai beaucoup de chose à voir ! aujourd'hui je suis plutôt dans le développement et l'intégration, et bien-sur que je m'attaquerais à tout ce que je peux , mais étape par étape! 

            Mais je ne pensais pas que ça pouvait déranger de demander de l'aide an tant que dév junior!

            puis pour revenir au sujet j'ai pensé  que le code que tu as donné aurait donné une erreur si il n'y avait de produit commandé dans la table panier. 

            Mais merci pour ton aide quand même

            • Partager sur Facebook
            • Partager sur Twitter
              3 septembre 2019 à 14:28:33

              born1 a écrit:

              je ne pensais pas que ça pouvait déranger de demander de l'aide an tant que dév junior!

              Lorsque les questions posées portent sur des notions de base cela indique un manque de formation de base ... et je faisais cette remarque sans méchanceté, il ne faut pas le prendre mal, plutôt comme un encouragement à suivre un cours avant de te lancer sur un projet, surtout pour éviter les écueils principaux auxquels tu es aujourd'hui confronté ...

              born1 a écrit:

              j'ai pensé que le code que tu as donné aurait donné une erreur si il n'y avait de produit commandé dans la table panier

              Non, le DELETE n'aurait tout simplement trouvé aucune ligne à traiter ... il n'aurait juste rien fait, sans renvoyer d'erreur ...

              -
              Edité par Benzouye 3 septembre 2019 à 14:28:47

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                3 septembre 2019 à 15:11:17

                Mille merci encore!!!!!!!!
                • Partager sur Facebook
                • Partager sur Twitter

                [phpmyadmin/mysql]Créer un trigger qui supprime

                × 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