Création de trigger MySQL

Résolu
Astolpho Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
Astolpho Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -

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

A voir également:

2 réponses

jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

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
Astolpho Messages postés 73 Date d'inscription   Statut Membre Dernière intervention  
 

ça fonctionne merci

0