IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

MySQL: erreur syntax création de trigger


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut MySQL: erreur syntax création de trigger
    salut,

    j'essaie de créer un trigger avec MySQL (j'utilise EasyPHP) mais je reçois toujours la même erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1064 - Erreur de syntaxe près de 'BEGIN DELETE FROM tab2 WHERE tab2ID = old.tab1ID' à la ligne 3
    le but de mon trigger est de supprimer les lignes dans tab2 (qui correspond à l'enregistrement du tab1) avant la suppression de la ligne dans tab1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TRIGGER test 
    BEFORE DELETE ON tab1
    BEGIN
    DELETE FROM tab2 WHERE tab2ID = old.tab1ID
    j'ai essayé plusieurs autres exemple de trigger mais aucun n'a marché.

    aidez moi pour trouver la bonne syntaxe

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Points : 129
    Points
    129
    Par défaut
    il te manque FOR EACH ROW

    et END

  3. #3
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut
    c vrai j'ai pas mis le FOR EACH ROW, mais pour l END c'était juste une mauvaise
    copie coller de mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TRIGGER test 
    BEFORE DELETE ON tab1
    FOR EACH ROW
    BEGIN
    DELETE FROM tab2 WHERE tab2ID = old.tab1ID;
    END
    cette fois c'est une autre erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Erreur
     
    requête SQL:
     
    CREATE TRIGGER testBEFORE DELETE ON tab1 FOR EACH ROW BEGIN DELETE FROM tab2 WHERE tab2ID = old.tab1ID;
    MySQL a répondu:Documentation
    #1064 - Erreur de syntaxe près de '' à la ligne 5

Discussions similaires

  1. Erreur de syntaxe dans un trigger
    Par bastiii dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 10/09/2008, 08h47
  2. Erreur syntaxe pour Création d'une vue
    Par MikeV dans le forum Outils
    Réponses: 2
    Dernier message: 05/09/2007, 17h16
  3. [SGBD] [PHP/MySQL] erreur de syntaxe
    Par sagitarium dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/05/2006, 12h41
  4. [MySQL] Erreur de syntaxe (tiret)
    Par nicof3 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/04/2006, 09h22
  5. [EXISTS] Version MySql ou erreur syntaxe ?
    Par Kimael dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/04/2004, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo