Création de trigger MySQL

Résolu
Astolpho Messages postés 74 Statut Membre -  
Astolpho Messages postés 74 Statut Membre -

Bonjour,

Je n'arrive pas à créer un trigger pour une table.

j'ai toujours le même message d'erreur.

#1064 - Erreur de syntaxe près de '' à la ligne 6

J'ai vérifier que les champs sont bien les même dans les 2 tables, que le moteur de la bdd est le même sur les 2 tables, j'ai essayer de passer par la console rien n'y fait.
Voici le code pour le trigger :

CREATE TRIGGER services_deleted_trigger
BEFORE DELETE ON services
FOR EACH ROW
BEGIN
  INSERT INTO services_deleted_log (id_items,  price, quantity, invoice, id_customers, id)
  VALUES (OLD.id_items, OLD.price, OLD.quantity, OLD.invoice, OLD.id_customers, OLD.id);
END;

La ligne 6 commence à "VALUES"

Je sais plus ou chercher

Windows / Chrome 113.0.0.0

2 réponses

  1. jee pee Messages postés 9439 Date d'inscription   Statut Modérateur Dernière intervention   9 977
     

    Bonjour,

    Je ne pratique pas vraiment mysql mais en regardant la doc il y a une remarque comme quoi le temps créer le trigger il faudrait changer le delimiter pour conserver le ; dans le code du trigger.

    DELIMITER $$
    
    CREATE TRIGGER before_salaries_delete
    BEFORE DELETE
    ON salaries FOR EACH ROW
    BEGIN
        INSERT INTO SalaryArchives(employeeNumber,validFrom,amount)
        VALUES(OLD.employeeNumber,OLD.validFrom,OLD.amount);
    END$$    
    
    DELIMITER ;

    1
  2. Astolpho Messages postés 74 Statut Membre
     

    ça fonctionne merci

    0