Bonjour,
Je n'arrive pas à faire fonctionner la requête de création de mon trigger, je viens donc chercher votre expérience.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TRIGGER update_table_X BEFORE UPDATE ON table_X FOR EACH ROW BEGIN IF( ( SELECT COUNT( * ) FROM logs WHERE table_name = 'table_X' AND key_values = OLD.rowid AND `type` = 'insert' ) =0 ) THEN INSERT INTO logs( id_log, table_name, key_names, key_values, `type` ) VALUES ( 0, 'table_X', 'rowid', OLD.rowid , 'update' ) ; MySQL a répondu:Documentation #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 'INSERT INTO logs ( id_log, table_name, key_names, key_values, `t' at line 3
Petite explication: j'ai une table de log qui me permet de faire un suivi des modifications dans la base. Lors d'un update, je veux créer un log de type Update dans ma table seulement si cette table ne contient pas déjà un log de type insert (un autre trigger se charge d'avoir créé cette ligne).
Merci d'avance de votre aide.
Bonne journée
Maximilien
Partager