Création de trigger MySQL

Résolu/Fermé
Astolpho Messages postés 72 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 5 mars 2024 - 23 mai 2023 à 18:35
Astolpho Messages postés 72 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 5 mars 2024 - 24 mai 2023 à 12:44

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 39745 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 mai 2024 9 191
Modifié le 23 mai 2023 à 22:00

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 72 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 5 mars 2024
24 mai 2023 à 12:44

ça fonctionne merci

0