Création de trigger MySQL

Résolu

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. ça fonctionne merci

    0
    1. Modérateur

      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