Problem trigger suppression

devMan Messages postés 75 Statut Membre -  
devMan Messages postés 75 Statut Membre -
Bonjour,
Salut,
j'ai un trigger qui se chargera de supprimer les clefs etranger de l'élément supprimé.
DROP TRIGGER IF EXISTS `suppression`//
CREATE TRIGGER `suppression` BEFORE DELETE ON TABLE1
 FOR EACH ROW BEGIN
    delete from TABLE2  where ID=OLD.id and type=OLD.type;
    delete from TABLE3  where ID=OLD.id and type=OLD.type;
    delete from TABLE4 where ID=OLD.id and type=OLD.type;  
END//


mais j'ai un erreur :
you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '//
CREATE TRIGGER `suppressionEavElement` BEFORE DELETE ON eltElementBase
FOR' at line 1 


je ne peux pas utiliser la suppression en cascade

quelqu'un peut me dire pourquoi svp

merci de votre aide
Configuration: Linux / Firefox 3.5.8

2 réponses

  1. devMan Messages postés 75 Statut Membre 15
     
    Re,
    j'ai essayé avec :
    DROP TRIGGER IF EXISTS `suppression`
    delimiter //
    CREATE TRIGGER `suppression` BEFORE DELETE ON TABLE1
     FOR EACH ROW BEGIN
        DELETE FROM TABLE2  WHERE ID=OLD.id AND type=OLD.type;
        DELETE FROM TABLE3  WHERE ID=OLD.id AND type=OLD.type;
        DELETE FROM TABLE4 WHERE ID=OLD.id AND type=OLD.type;  
    END//
    delimiter ;
    

    mais j'ai un erreur :
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delimiter' at line 1 
    
    0
  2. devMan Messages postés 75 Statut Membre 15
     
    Re,

    en fait,
    il me semble que le problem n'existe pas ds la syntaxe de ma requette...
    le problem c'est ds l'onglet SQL de phpMyAdmin, ds la zone text Délimiteur j'ai mis un ";" par contre je dois mettre "//"
    donc ma requette elle est bonne
    DROP TRIGGER IF EXISTS `suppression`//
    CREATE TRIGGER `suppression` BEFORE DELETE ON TABLE1
     FOR EACH ROW BEGIN
        delete from TABLE2  where ID=OLD.id and type=OLD.type;
        delete from TABLE3  where ID=OLD.id and type=OLD.type;
        delete from TABLE4 where ID=OLD.id and type=OLD.type;  
    END//


    Bon dev
    0